一个信号由一个进程或从一个进程发送到另一个进程。
bash进程通常在终端仿真器进程(如gnome终端)中运行。
bash进程依次运行其他进程。
因此,当我们在运行kill的终端仿真器中使用控制键或运行bash向进程发送信号时,哪个进程向哪个进程发送信号?如何涉及终端模拟器进程、bash进程和bash进程的子进程?
谢谢。
发布于 2017-08-08 11:49:46
当执行内置到各种shell的kill命令时,执行系统调用以发送信号的是shell进程本身。
在执行外部kill命令时,执行系统调用以发送信号的进程是分叉运行的。
没有所谓的“伪终端过程”。伪终端不是进程。有一个终端模拟器进程,但那个仿真器不是伪终端。
当一个特殊字符从终端或终端仿真器通过伪终端的主端发送到内核中的行规则时,那么(假设行纪律具有特殊字符的规范输入模式),则是内核发送信号。
https://unix.stackexchange.com/questions/384703
复制相似问题