对信号产生共识

接下来将从时间维度上对信号产生、信号保存以及信号处理进行解答,但这些都是基于对信号的理解。首先需要建立对信号的共识。
什么是信号?拿生活来举例:
现实世界 --> 信号概念是什么? --> 红绿灯,闹钟,狼烟…
并且我们在过马路时知道红灯停、绿灯行;在闹钟还没到来时我们就知道这个闹钟到点了就该起床了。在还没有产生信号的时候,我们就知道信号产生的时候,该如何处理!这意味着我能识别这些信号,为何能识别?被教育过,记住了。
信号特征 + 信号处理方法 --> 反推回来我能识别这些信号
那么进程是如何识别信号的?进程和信号都是程序员写的,实际上进程内部已经内置了对于信号的识别和处理机制!!!

为什么要有信号呢? --> 作用:信息事件的通知 --> 信号产生,是异步产生的
生活例子:张三和李四在联机玩王者农药,此时张三的母亲让张三 10 点的时候去大厅打扫下卫生,张三说好的。可是到 10 点的时候,张三这把游戏还没结束,此时跟母亲说:等我打完这把游戏就去打扫。
因此,信号到来的时候,如果我在做更重要的事情,收到信号的时候,可以不立即处理信号 (通过简单通知机制,告诉人,应该要做什么了) --> 在合适的时候处理 --> 这也要求我们把这个信号记录下来!!!
那么该如何处理信号呢?

理解 ctrl + c
还记得平日最常使用的 ctrl + c?我们的进程是可以被终止的。

用户输入命令,在 Shell 下启动一个前台进程; 用户按下 Ctrl+C,这个键盘输入产生一个硬件中断,被 OS 获取,解释成信号,发送给目标前台进程;
前台进程因为收到信号,进而引起进程退出; ctrl + c 的本质 : 向目标进程发送 2 号信号!
信号概念
查看信号

信号是进程之间事件异步通知的一种方式,属于软中断。
在 Action 中 Core 和 Term 都是终止进程,一般这两是没区别的,但有一些特殊情况会有区分。











