★实验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;
v
★实验10-1 1. 编写程序测试函数setitimer(int)和getitimer()。 2. 安装信号, 使信号SIGALRM、SIGVTALRM、SIGPROF可以被捕获。 #include
最新推荐文章于 2023-09-08 10:32:25 发布
该实验程序主要测试了setitimer函数,设置并使用了ITIMER_REAL、ITIMER_VIRTUAL和ITIMER_PROF三种定时器,并通过signal函数安装了信号处理函数,使得SIGALRM、SIGVTALRM和SIGPROF信号能够被捕获和处理。
摘要由CSDN通过智能技术生成