您的位置:首页 > 其它

★实验10-1 1. 编写程序测试函数setitimer(int)和getitimer()。 2. 安装信号, 使信号SIGALRM、SIGVTALRM、SIGPROF可以被捕获。 #include

2017-07-20 13:25 495 查看
★实验10-1
1.	编写程序测试函数setitimer(int)和getitimer()。
2.	安装信号, 使信号SIGALRM、SIGVTALRM、SIGPROF可以被捕获。
#include <signal.h>
#include <unistd.h>
#include <stdio.h>
#include <sys/time.h>
void sigroutine(int signo)
{
switch (signo) {
case SIGALRM:
printf("Catch a signal -- SIGALRM\n ");
break;
case SIGVTALRM:
printf("Catch a signal -- SIGVTALRM\n ");
break;
case SIGPROF:
printf("Catch a signal -- SIGPROF\n ");
break;
}

return;
}
int main()
{
struct itimerval value,value1,value2;

printf("process id is %d\n ",getpid());

signal(SIGALRM, sigroutine);
signal(SIGVTALRM, sigroutine);
signal(SIGPROF,sigroutine);

value.it_value.tv_sec = 1;
value.it_value.tv_usec = 0;
value.it_interval.tv_sec = 1;
value.it_interval.tv_usec = 0;
setitimer(ITIMER_REAL, &value,NULL);
value2.it_value.tv_sec = 1;
value2.it_value.tv_usec = 0;
value2.it_interval.tv_sec = 1;
value2.it_interval.tv_usec = 0;

setitimer(ITIMER_VIRTUAL, &value2,NULL);

value1.it_value.tv_sec = 1;
value1.it_value.tv_usec = 0;
value1.it_interval.tv_sec = 1;
value1.it_interval.tv_usec = 0;

setitimer(ITIMER_PROF, &value1,NULL);
for (;;) ;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐