什么是PDM信号?
最编程
2024-02-19 14:39:49
...
什么是信号?
信号(signal)是进程间通讯的一种方式,用来提醒进程某个事件已经发生。它属于一种异步通知进制。一个进程不必通过任何操作来等待信号的到达,事实上进程也不知道信号到底什么时候到达。进程之间可以互相通过系统调用kill发送软中断信号。内核也可以因为内部事件而给进程发送信号,通知进程发生了某个事件。
信号接受与处理流程
在Linux系统中,我们可以通过kill -l查看系统支持的信号。如果应用程序注册了某个信号处理的函数,那么当信号达到时候,则该函数会被调用,否则缺省的动作(action)被调用。
实际上信号的接收不是由用户进程来完成的,而是由内核代理。当一个进程P2向另一个进程P1发送信号后,,内核接受到信号,并将其放在P1的信号队列当中。当P1再次陷入内核态时(比如系统调用、中断或异常),会检查信号队列,并根据相应的信号调取相应的信号处理函数。
[图片]
注意:
进程从用户态...... 查看更多