当终端仿真器终止时,谁向伪终端的控制进程发送 SIGHUP?

当终端仿真器终止时,谁向伪终端的控制进程发送 SIGHUP?

当终端断开连接时,操作系统内核会向终端的控制进程发送SIGHUP。

当终端仿真器终止时,谁向终端仿真器底层的伪终端的控制进程发送 SIGHUP:操作系统内核还是终端仿真器?

谢谢。

答案1

答案已经包含在您的问题中。当终端断开连接时,内核会向终端的控制进程发送 SIGHUP 信号。对于内核中驱动程序创建的终端,当驱动程序如此指示时,终端将断开连接。对于伪终端,当终端主端的文件句柄关闭时(因为终端仿真器进程显式关闭它或因为终端仿真器进程死亡),终端将断开连接。

1控制进程是在终端中首先运行的任何进程 - 更准确地说,它是第一个在作为会话领导者时打开终端的进程,或者在打开终端时成为会话领导者的第一个进程(如果该进程仍然是会话领导者)。
²主控侧是仿真器侧。从端是在终端中运行的应用程序的一端。
³如果多个进程打开了终端的主端,则它们必须全部关闭其文件描述符(可能通过死亡),以便文件描述符被关闭。

相关内容