[linux manual page--setitimer]https://man7.org/linux/man-pages/man2/setitimer.2.html
int setitimer(int which,
const struct itimerval *restrict new_value,
struct itimerval *restrict old_value);
struct itimerval
{
struct timeval it_interval; /* next value */
struct timeval it_value; /* current value */
};
#include <iostream>
#include <signal.h>
#include <sys/time.h>
#include <stdio.h>
#include <unistd.h>
using namespace std;
void signalHandler(int signo)
{
switch (signo){
case SIGALRM:
printf("Caught the SIGALRM signal!\n");
break;
}
}
int main()
{
signal(SIGALRM, signalHandler);
struct itimerval new_value, old_value;
new_value.it_value.tv_sec = 1;
new_value.it_value.tv_usec = 0;
new_value.it_interval.tv_sec = 1;
new_value.it_interval.tv_usec = 0;
setitimer(ITIMER_REAL, &new_value, &old_value);
for(;;);
return 0;
}
原文:https://www.cnblogs.com/xl-cnblog/p/14848202.html