这是一个简单的定时任务实现案例
#include <sys/types.h>
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <signal.h>
#include <time.h>
static int alarm_time = 0;
void sigalarm_handler(int sig)
{
printf("sigalarm_handler, sig=%d\n", sig);
alarm(alarm_time);
}
bool timer(sighandler_t handler, int sec)
{
if (signal(SIGALRM, handler) == SIG_ERR)
return false;
alarm_time = sec;
alarm(sec);
return true;
}
int main()
{
timer(sigalarm_handler, 3);
while (1)
{
printf("sleep\n");
sleep(1);
}
return 0;
}来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2001/viewspace-3161713/ ,如需转载,请注明出处,否则将追究法律责任。