1 信号的相关认知
- 1)信号的概念:传播信息的方法,所以它是信息发送的标志。
- 2)信号的机制:A给B发送信号,B收到信号之前执行自己的代码,收到信号后,不管执行到程序的什么位置,都要暂停运行,去处理信号,处理完毕再继续执行。与硬件中断类似——异步模式。但信号是软件层面上实现的中断,早期常被称为“软中断”。
- 3)信号的特质:延时性。信号是通过软件方法实现,其实针对于计算机,现手段导致信号有很强的延时性。但对于用户来说,这个延迟时间非常短,不易察觉,所以在用户视角可以忽略不计。
- 4)信号的处理方式:这是最重要的一点,每个进程收到的所有信号,都是由内核负责发送的,内核处理。后续会慢慢讲到。例如我在某个终端进程按下ctrl+c想要杀死某个进程,该终端进程从内核产生一个信号,去到未决信号集,再经过信号屏蔽集把关是否允许执行信号,若可以则回到内核处理,不可以则该信号一直处于未决状态。内核接收不到就不会处理。