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

来源:互联网 发布:西门子仿真软件 编辑:程序博客网 时间:2024/05/20 04:50
★实验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 (;;) ;}

阅读全文
0 0
原创粉丝点击