退出屏幕后子进程仍然存在

退出屏幕后子进程仍然存在

我在 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短消息。然后该进程应该会消失。

相关内容