Controlling-Terminal
沒有控制終端的程序
當程序在沒有控制終端的情況下執行時會發生什麼?該流程與標準流程有何不同?它失去了哪些特徵,又獲得了什麼?
更新#1
列為可能重複的問題:在 Unix 中控制終端的概念不包含答案。此外,其他問題過於寬泛,根本沒有提及過程質量。
不多。
大多數情況下,沒有控制終端的程序不會受到來自終端事件的(主要是與作業控制相關的)信號的影響。
這些將包括
SIGINT
,如果收到中斷字元(通常是 ^C),則中斷前台程序(組);SIGTTIN
/SIGTTOU
如果程序嘗試從後台到終端的 I/O,則停止程序,並且;SIGHUP
當終端看到斷開連接時,告訴控制程序(shell)終止。(最初是調製解調器掛斷。)如果您願意,該標準有詳細資訊。