Linux,Screen/nohup 不适用于后台进程

Linux,Screen/nohup 不适用于后台进程

我正在使用远程站点(如果这有区别的话,是 Mac)来运行一些进程。第一次我通过 ssh 进入它并在注销之前使用 nohup / & 设置进程。当我回来查看它是如何运行的时候,我注意到当我注销时该进程已被终止。

因此,为了尝试解决这个问题,我改用 screen,并在注销之前断开连接。然后我重新登录以查看它是否仍在运行(它确实在运行),因此我注销并离开了它。当天晚些时候我回来时,我尝试重新连接到 screen,但它返回“没有要恢复的 screen。”的响应。当我查看我的日志文件时,我注意到该进程在我注销后约 40 分钟随机死亡,没有任何错误。当然,我在 screen 会话中打开的所有其他窗口也都消失了。

我尝试过多种解决方案,包括保持 ssh 连接打开并在 ssh_config 中使用 KeepServerAlive 保持连接处于活动状态。这一次,在进程启动后的某个时间点(似乎是随机的),它会以管道断开为由注销我。我尝试在屏幕上运行一个没有进程的会话来查看是否是这个问题,但遇到了与上述相同的问题。

任何对此的想法/答案都将受到赞赏。

相关内容