一个信号就是一条小消息,它通知进程系统中发生了一个某种类型的事件。linux系统上支持的30种不同类型的信号。每种信号类型都对应于某种系统事件。底层的硬件异常是由内核异常处理程序处理的,正常情况下,对用户进程是不可见的。信号提供了一种机制,通知用户进程发生了这些异常。
1.发送信号:内核通过更新目的进程上下文中的某个状态,发送一个信号给目的进程。发送信号可以有以下两种原因:
2.接受信号:当目的进程被内核强迫以某种方式对信号地发送做出反应时,它就接受了信号。进程可以忽略这个信号,终止或者通过执行一个称为信号处理程序(signal handler)的用户层函数捕获这个信号。