苏格拉底问答、实践过程截图、遇到问题解决问题截图,代码链接












#include <signal.h>
#include <stdio.h>
#include <sys/time.h>

int count = 0;
struct itimerval t;

void timer_handler(int sig)
{
printf("timer_handler: signal=%d count=%d\n", sig, ++count);
if (count>=8)
{
printf("cancel timer\n");
t.it_value.tv_sec = 0;
t.it_value.tv_usec = 0;
setitimer(ITIMER_VIRTUAL, &t, NULL);
}
}

int main()
{
struct itimerval timer;
signal(SIGVTALRM, timer_handler);
timer.it_value.tv_sec = 0;
timer.it_value.tv_usec = 100000;
timer.it_interval.tv_sec = 1;
timer.it_interval.tv_usec = 0;
setitimer(ITIMER_VIRTUAL,&timer, NULL);
printf("looping:enter Control-C to Terminate\n");
while(1);
}

posted @ 2023-11-03 11:51  20211106隋吉达  阅读(6)  评论(0)    收藏  举报