利用信号 Signal 实现定时器
2019-12-23 本文已影响0人
wjundong
#include <stdio.h>
#include <time.h>
#include <sys/time.h>
#include <stdlib.h>
#include <signal.h>
#include <unistd.h>
int count = 0;
void setTimer()
{
struct itimerval itv, oldtv;
// 定时器初值
itv.it_value.tv_sec = 5;
itv.it_value.tv_usec = 0;
// 定时器重装值
itv.it_interval.tv_sec = 1;
itv.it_interval.tv_usec = 0;
setitimer(ITIMER_REAL, &itv, &oldtv);
}
void sigalrmHandler(int sig)
{
count++;
printf("timer signal.. %d\n", count);
}
int main()
{
signal(SIGALRM, sigalrmHandler);
setTimer();
while (count < 1000) {
sleep(100);
}
return 0;
}