内核实现信号捕捉原理

Posted wanghao-boke

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内核实现信号捕捉原理相关的知识,希望对你有一定的参考价值。

信号捕捉特性

  1. 进程正常运行时,默认PCB中有一个信号屏蔽字,假定为☆,它决定了进程自动屏蔽哪些信号。当注册了某个信号捕捉函数,捕捉到该信号以后,要调用该函数。而该函数有可能执行很长时间,在这期间所屏蔽的信号不由☆来指定。而是用sa_mask来指定。调用完信号处理函数,再恢复为☆。
  2. XXX信号捕捉函数执行期间,XXX信号自动被屏蔽。
  3. 阻塞的常规信号不支持排队,产生多次只记录一次。(后32个实时信号支持排队)

练习1:为某个信号设置捕捉函数                                                                                                      【sigaction1.c】练习2: 验证在信号处理函数执行期间,该信号多次递送,那么只在处理函数之行结束后,处理一次。  【sigaction2.c】练习3:验证sa_mask在捕捉函数执行期间的屏蔽作用。                                                                  【sigaction3.c】

内核实现信号捕捉过程:

技术图片

 

以上是关于内核实现信号捕捉原理的主要内容,如果未能解决你的问题,请参考以下文章

linux学习:信号初识

Linux:详解进程信号(信号的捕捉流程,信号的阻塞volatile关键字)

Linux进程信号

Linux进程信号

Linux进程信号

linux进程信号——信号的保存和处理