信号在 Linux 中是如何实现的?

WiS*_*GaN 5 linux signals

当一个进程向另一个进程发送信号时,接收进程是否会等到它重新调度运行?因此,如果我们每 1 毫秒选择一个进程运行,这是否意味着从生成信号到传递信号的延迟约为 0.5 毫秒?(假设我们只有两个进程。)
更一般地说,信号在 Linux 中是如何实现的?

Sim*_*ter 7

这是(有点)未定义的。

如果接收进程设置为在接收到信号时采取行动(即该信号没有被忽略或阻塞,则该进程变得可运行。如果它有足够的优先级,那么它也被立即调度,但那不是保证。