linux用户编写应用程序中,可以自行安装信号,定义进程收到信号后的处理方法。此过程可以通过signal或者sigaction完成。
本节主要介绍使用signal函数来安装信号。
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <signal.h>
void HandleSigint(int signo)
{
printf("receive signal %d.\n", signo);
}
int main(void)
{
if (signal(SIGQUIT, HandleSiginTt) == SIG_ERR)
{
perror("signal");
exit(0);
}
pause();
return 0;
}
【运行结果】经过编译链接后
[root@localhost linuxc]# vi ./mysigint.c
[root@localhost linuxc]# gcc -Wall -g mysigint.c -o mysigint
[root@localhost linuxc]# ./mysigint
(摁下CTRL + \)
receive signal 3.
本例中首先调用signal安装SIGQUIT信号。在进程接收到SIGQUIT信号后,执行HandleSigint。然后调用pause等待信号的产生。