退出螢幕後子進程仍保留

退出螢幕後子進程仍保留

我在 OSX 上看到一些奇怪的螢幕行為。當我退出畫面時,子進程不會被終止。

$ screen
$ tail -f (or some long running process inside screen)

然後,我使用 終止當前螢幕視窗^a k或完全終止螢幕^a ^\,看起來一切都很順利:

$ [screen is terminating]

但是,tail -f仍在運行(PPID 為 1)。為什麼它不是被殺而是成為孤兒?是否有一個設定/標誌可以改變這種行為?我已經在 Ubuntu 下嘗試過了,螢幕表現符合預期。

謝謝!

答案1

我已經看到偽終端的進程將保留在接收輸入之前的位置。若要測試此情況,請在清單中看到延遲進程後ps,發送wall簡訊。然後該過程應該會消失。

相關內容