信号是内容受限的一种异步通信机制
- 信号的目的:用来进程间的通信
- 信号本质上是int型数字编号(事先定义好的);所以说是内容受限的通信机制
- 信号是异步的(可以类比于硬件中断)
常见信号介绍
- SIGINT 2 Ctrl+C时OS送给前台进程组中每个进程
- SIGABRT 6 调用abort函数,进程异常终止
- SIGPOLL SIGIO 8 指示一个异步IO事件,在高级IO中提及
- SIGKILL 9 杀死进程的终极办法
- SIGSEGV 11 无效存储访问时OS发出该信号
- SIGPIPE 13 涉及管道和socket
- SIGALARM 14 涉及alarm函数的实现
- SIGTERM 15 kill命令发送的OS默认终止信号
- SIGCHLD 17 子进程终止或停止时OS向其父进程发此信号
- SIGUSR1 10 用户自定义信号,作用和意义由应用自己定义
SIGUSR2 12
信号的处理方式
- 忽略信号
- 捕获信号(信号绑定了一个信号处理函数)
- 默认处理(忽略或终止进程)
相关函数
#include <signal.h>
typedef void (*sighandler_t)(int);
sighandler_t signal(int signum, sighandler_t handler);
* 用于注册信号处理函数的函数
* 第一个参数是所相应的信号编号(见上&#