test_setitimer.c
来自「LINUX C编程实战这本书附带光盘的原代码」· C语言 代码 · 共 44 行
C
44 行
#include <stdio.h>
#include <signal.h>
#include <sys/time.h>
#include <unistd.h>
/*信号处理程序*/
void handler_sigtime(int signo)
{
switch (signo) {
case SIGALRM:
printf("recv SIGALRM\n");
break;
case SIGPROF:
printf("recv SIGPROF\n");
break;
default:
break;
}
}
int main()
{
struct itimerval value;
/*安装信号处理函数*/
signal(SIGALRM, handler_sigtime);
signal(SIGPROF, handler_sigtime);
/*初始化value结构*/
value.it_value.tv_sec = 1; // 第一次1秒触发信号
value.it_value.tv_usec = 0;
value.it_interval.tv_sec = 5; // 第二次开始每5秒触发信号
value.it_interval.tv_usec = 0;
/*设置定时器*/
setitimer(ITIMER_REAL, &value, NULL);
setitimer(ITIMER_PROF, &value, NULL);
while(1)
;
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?