直接看代码
#include#include #include void myfunc(){ printf("myfunc\n"); exit(0); //如果没有此句,程序在主函数中继续运行,输出never run}int main(){ unsigned int i; int time; alarm(9); sleep(2); time = alarm(0); //闹钟取消,返回剩余时间,每次只能有一个闹钟生效 printf("dd%d\n",time); alarm(2); signal(SIGALRM, myfunc); //catching signal,获得闹钟返回的信号SIGALRM,运行对应程序。 pause(); //挂起进程,当获得信号后,调用signal函数,如果没有信号调用默认的catching函数一般就会退出进程 printf("never run"); return 0;}
输出结果为:
more time:7
myfunc never run