没有控制终端的进程

没有控制终端的进程

当进程在没有控制终端的情况下运行时会发生什么?该流程与标准流程有何不同?它失去了哪些功能,又获得了哪些功能?

更新#1

该问题被列为可能的重复问题:Unix 中控制终端的概念不包含答案。另外,另一个问题太宽泛,根本没有提到流程质量。

答案1

不多。

大多数情况下,没有控制终端的进程不会接收来自终端事件的信号(主要与作业控制相关)。

这些包括SIGINT,如果收到中断字符(通常是 ^C),则中断前台进程(组);SIGTTIN/SIGTTOU如果进程尝试从后台对终端进行 I/O,则停止该进程;SIGHUP当终端发现断开连接时,告诉控制进程(shell)终止。 (最初是调制解调器挂断。)

标准有详细说明如果你喜欢。

相关内容