linux下C语言有没有定时调用的函数

2025-03-23 14:56:54
推荐回答(2个)
回答(1):


你是指延迟函数还是定时调用,比如到11:12:13秒执行某个函数?

如果是延时函数用

usleep(usec); // 微妙
sleep(sec);    // 秒

如果是定时执行的话,你只能开个线程或while,每隔1s判断下当前系统时间,

struct   tm     *ptm; 
long       ts; 
int         y,m,d,h,n,s; 

ts   =   time(NULL); 
ptm   =   localtime(&ts); 

y   =   ptm-> tm_year+1900;     //年 
m   =   ptm-> tm_mon+1;             //月 
d   =   ptm-> tm_mday;               //日 
h   =   ptm-> tm_hour;               //时 
n   =   ptm-> tm_min;                 //分 
s   =   ptm-> tm_sec;                 //秒

照着上面的格式组成字符串进行判断,到点了就执行就可以了

回答(2):

头文件#include
有个函数叫setitimer,这个能设timer,用来计时
你得搞个信号signal,计时一到,这个信号就会触发你要做的事。