我想每秒觸發一個計時器30秒。但是,定時器只觸發一次,程序停止。如何讓計時器運行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();
}
也使用'sigaction'代替'signal'(舊API)。 –