程序可以使用signal库函数来处理信号,定义如下:
#include <signal.h>
void (*signal(int sig,void (*func)(int)))(int);
其中参数sig给出准备捕获或者忽略的信号,而接收到信号后需要调用的函数则由参数func给出。
信号处理函数也可以使用以下两个特殊值
SIG_IGN 忽略信号
SIG_DFL 恢复默认行为
现在较多用的不是signal,而是sigaction。定义如下:
#include<signal.h>
int sigaction(int sig,const struct sigaction *act ,struct sigaction *oact)