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

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

你可能感兴趣的:(linux)