我想每秒触发一个计时器,持续 30 秒。但是,定时器只触发一次,程序停止。如何让计时器运行 30 秒?
#include <sys/time.h>
#include <signal.h>
void alarmhandler(){
printf("\nTimer triggered");
}
void main(){
struct itimerval timerval;
signal(SIGALRM, alarmhandler);
timerval.it_value.tv_sec = 1;
timerval.it_value.tv_usec = 0;
timerval.it_interval.tv_sec = 30;
timerval.it_interval.tv_usec = 0;
setitimer(ITIMER_REAL, &timerval, 0);
pause();
}