直接看代码
#include <stdio.h>#include <signal.h>typedef void (*signal_handler)(int); //定义函数指针void heart_handler_fun(int signal_num){ alarm(30);//睡眠30S PRintf("catch signal %d/n", signal_num);}int main(){ printf("start signal/n"); signal_handler p_signal = heart_handler_fun; signal(SIGALRM, p_signal); alarm(30);//睡眠30S,触发signal SIGALRM while(1);//一定要循环,要不然主线程退出,整个程序就退出了 return 0;}
新闻热点
疑难解答