信号
思考
信号在进程间和线程间的传递情况
生命周期(过程)
- 信号产生
- 信号注册
- 信号处理
- 信号注销
信号产生
- 终端快捷键:
Ctrl+C
、Ctrl+Z
、Ctrl+D
- 硬件异常:内存非法访问
- 软件异常:条件发生如定时器
- kill函数或命令
信号注册
信号处理
- 默认处理
- 忽略
- 自定义处理
信号注销
在信号表注册某信号,即表示该服务器可操作的信号集
添加信号处理函数(回调函数,函数指针)
对不同的场景来说,相同的信号有不同的处理方式
信号处理方式有三种:
- 忽略,即发送某信号不作改变
- 默认,即每个信号都有默认的回调函数,如SIGTERM-退出程序
- 自定义函数
注销
从信号表中移除某信号
实现