Operating system 信号是由操作系统内核还是进程生成的?

Operating system 信号是由操作系统内核还是进程生成的?,operating-system,signals,ipc,Operating System,Signals,Ipc,说 信号是进程间通信的一种有限形式,用于 Unix、类Unix和其他兼容POSIX的操作系统。信号 是向进程或特定进程发送的异步通知 在同一进程中执行线程,以便将 发生了 内核可以生成信号,通知进程事件。对于 例如,当进程写入管道时将生成SIGPIPE 已被读者关闭;默认情况下,这会导致 过程终止,这在构造外壳时很方便 管道 信号是由操作系统内核还是进程生成的 如果信号是由操作系统内核生成的,那么如何在进程间通信中使用信号?它是通过在两个进程之间的中间有OS内核,即进程通过某种方式与OS内核(

信号是进程间通信的一种有限形式,用于 Unix、类Unix和其他兼容POSIX的操作系统。信号 是向进程或特定进程发送的异步通知 在同一进程中执行线程,以便将 发生了

内核可以生成信号,通知进程事件。对于 例如,当进程写入管道时将生成SIGPIPE 已被读者关闭;默认情况下,这会导致 过程终止,这在构造外壳时很方便 管道

信号是由操作系统内核还是进程生成的


如果信号是由操作系统内核生成的,那么如何在进程间通信中使用信号?它是通过在两个进程之间的中间有OS内核,即进程通过某种方式与OS内核(也就是信号?)进行通信,然后OS内核通过信号来与另一进程通信。在您的示例中,内核自己生成信号,以便与进程通信

其他进程也可以发送信号,要求内核向进程或进程组发送信号(进程甚至可以向自身发送信号)。如果发起者有权发送信号,内核将发送信号

这就是当一个人运行类似以下的程序时发生的情况:

$ kill -TERM <some_pid>
$kill-TERM

需要注意的是,内核是唯一能够传递信号的实体,而不管信号源是什么