1,所有信号产生,最终都要有OS来进行执行,为什么?
OS是进程的管理者,OS拥有绝对的权限实现对进程的操作,比如“终止,暂停”这些操作
2,信号的处理是否是立即处理的?
在合适的时候
3,信号如果不是被立即处理,那么信号是否需要暂时被进程记录下来?记录在哪里最合适呢?
是滴,需要记录下来,通过一个位图,所以多次发送一个信号,在信号未处理的时候,也只会记录一次。记录在内核里面。
一般来说,信号的处理是这样的过程,信号阻塞,信号未决,信号抵达,等到合适的时候,就会去处理信号,忽略也是处理信号的一种方式
4,一个进程在没有收到信号的时候,能否能知道,自己应该对合法信号作何处理呢?
知道,内核有默认的处理函数实现对信号的处理
5,如何理解OS向进程发送信号?能否描述一下完整的发送处理过程?
OS接收到进程异常,填充信号到信号阻塞位图里面,如果在合适的时候,会去把信号递达,然后进行对应的回调,处理信号