Linux信号机制
信号的概念
信号的基本概念很简单,谍战剧里面的信号的概念就体现的非常形象,每次情报人员之间沟通的时候就用电台,就比如电台和密码本,每个对应的电台信号都有一个对应的意义,Key-Value形式的,比如A信号表示进攻、B信号表示撤退,非常容易理解的概念。再比如街上的红绿灯,红灯停、绿灯行….
我们既然知道了什么是信号,那么如何处理信号呢?
- 收到信号执行默认动作,比如看到红灯就停下来
- 忽略信号,比如看到红灯就当没看到,继续往前走
- 收到信号执行自定义动作,比如看到红灯就躺在街上睡觉,然后被车碾压…
那么Linux下的进程能够处理信号的前提是认识信号,这就和我们要处理红绿灯的信号的前提是必须认识红绿灯信号,进程收到信号有可能并不会立即处理,而是在合适的时候!