Linux 信号概念

Posted 庖丁解牛

tags:

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

程序在执行的时候,几乎任何时刻都会反生事件。
信号通常用来向一个进程通知事件。
信号是不可提前预知的,所以信号是异步的。
信号随时都可能发生,接收信号的进程也可以没有控制权。
每个信号名都以SIG开头,信号名的定义在<signal.h>中。
信号名一般都是宏,内部通常是一个正整数。
许多情况下都会出现信号,如硬件异常,非法的内存引用,软件异常等等。
kill函数就是向目标进程发一个SIGKILL信号,就和kill命令一样。
当进程收到一个信号,他可以对信号采取如下三种措施之一
--忽略这个信号;
--捕获这个信号,这需要执行一段称为信号处理器的特殊代码;
--允许执行信号的默认操作。
当信号发生的事件出现时,比如硬件异常,就会产生一个针对具体进程的信号。
当进程对发送给它的信号采取措施的时候,就叫该信号被传送。
产生信号和传递信号之间的时间间隔称为信号未决。
信号的部署是指进程如何响应信号。
进程可以忽略信号、用默认操作处理信号、响应这个信号。
进程不能简单的通过判断一个变量,例如errno来判断是否出现了一个信号。

以上是关于Linux 信号概念的主要内容,如果未能解决你的问题,请参考以下文章

linux——信号详解和实操代码

linux——信号详解和实操代码

Linux提高:信号(不会)

Linux提高:信号(不会)

Linux系统编程-进程概念进程管理信号处理

Linux系统编程-进程概念进程管理信号处理