信号
思考
信号在进程间和线程间的传递情况

生命周期(过程)

  1. 信号产生
  2. 信号注册
  3. 信号处理
  4. 信号注销

信号产生

  1. 终端快捷键:Ctrl+CCtrl+ZCtrl+D
  2. 硬件异常:内存非法访问
  3. 软件异常:条件发生如定时器
  4. kill函数或命令

信号注册

信号处理

  1. 默认处理
  2. 忽略
  3. 自定义处理

信号注销

在信号表注册某信号,即表示该服务器可操作的信号集
添加信号处理函数(回调函数,函数指针)
对不同的场景来说,相同的信号有不同的处理方式
信号处理方式有三种:

  1. 忽略,即发送某信号不作改变
  2. 默认,即每个信号都有默认的回调函数,如SIGTERM-退出程序
  3. 自定义函数

注销
从信号表中移除某信号
实现