关于alarm函数 alarm(设置信号传送闹钟) 相关函数 signal,sleep 表头文件 #include<unistd.h> 定义函数 unsigned int alarm(unsigned int seconds); 函数说明 alarm()用来设置信号SIGALRM在经过参数seconds指定的秒数后传送给目前的进程。如果参数seconds 为0,则之前设置的闹钟会被取消,并将剩下的时间返回。 返回值 返回之前闹钟的剩余秒数,如果之前未设闹钟则返回0。 代码 #include<unistd.h>#include<signal.h>void handler() {printf("Hello/n");signal(SIGALRM,handler);让内核做好准备,一旦接受到SIGALARM信号,就执行 handleralarm(5);}/*这段函数的执行时间不计算在for循环的时间之内*/main(){int i;handler();for(i=1;i<21;i++){printf("sleep %d .../n",i);sleep(1);}} 结果:刚开始在main中执行一次,然后每隔5秒执行一次handler() Hellosleep 1 ...sleep 2 ...sleep 3 ...sleep 4 ...sleep 5 ...Hellosleep 6 ...sleep 7 ...sleep 8 ...sleep 9 ...sleep 10 ...Hellosleep 11 ...sleep 12 ...sleep 13 ...sleep 14 ...sleep 15 ...Hellosleep 16 ...sleep 17 ...sleep 18 ...sleep 19 ...sleep 20 ...Hello