直接看代码
void func(int sig)
{
printf("Catch a signal,it is NO.%d signal!\n",sig);
}
void cap_signal(void (*func)(int))
{
struct sigaction sa = { 0 };
sigemptyset(&sa.sa_mask);//清空信号集合
sigfillset(&sa.sa_mask);//将所有信号添加进集合
sa.sa_handler = func;
for(int i = 1; i < 32; i++)
{
sigaction(i, &sa, NULL);//注册一个信号的捕捉函数
}
}