#include<stdio.h>
#include<stdlib.h>
#include<signal.h>
#include<sys/time.h>
void deal(int a)
{
printf("interval signal coming:%d\n",a);
}
main()
{
struct itimerval val={};
val.it_value.tv_sec=5;
val.it_value.tv_usec=500;
val.it_interval.tv_sec=1;
//5.5s后,每隔1s向本进程发送一个定时钟信号,以本地时间为准,如果有sleep,会中断sleep,可用于进程间传递信号
setitimer(ITIMER_REAL,&val,0);
//注册定时钟信号处理函数
signal(SIGALRM,deal);
while(1);
}
本文介绍如何利用setitimer函数配置定时信号,并通过一个示例程序展示如何每5.5秒后每隔1秒向进程发送定时信号,同时注册信号处理函数来处理这些信号。
2955

被折叠的 条评论
为什么被折叠?



