1.运行结果
2.程序
cpp
#include <stdio.h>
#include <signal.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);
}
}
main()
{
struct itimerval timer;
signal(SIGVTALRM,timer_handler);
timer.it_value.tv_sec=0;
timer.it_value.tv_usec=100000;
timer.it_value.tv_sec=1;
timer.it_value.tv_usec=0;
setitimer(ITIMER_VIRTUAL,&timer,NULL);
printf("looping:enter Control-C to terminate\n");
printf("Hello World!\r\n-----------------------------------");
while(1)
{
;
}
}