nohup 和 nohup 在屏幕上有区别吗?

nohup 和 nohup 在屏幕上有区别吗?

我目前正在Linux集群上运行mathematica,我希望即使我注销,作业也能稳定运行。所以我用nohup.但是,我发现有时nohup会在没有任何标志的情况下终止(我在输出文件中看不到任何错误消息,它只是在计算中间停止。)

这可能是由于Mathematica。但我想也许我应该尝试一下screen。所以我就提出了这个问题。nohup 和 nohup in a screen 有什么区别?nohup比单纯的在屏幕里面更稳定吗nohup

答案1

它不会产生真正的区别,因为如果您运行screen(或tmux) 并且断开连接,无论您是否使用 nohup 启动它,都会有 NOHUP 信号发送到您的应用程序。

我建议您尝试使用screen/tmux并直接启动程序而不使用nohup.然后强制断开连接,重新登录并重新连接到上一个会话。您将看到您的会话继续工作,并且您可以看到其输出(在缓冲​​区中向后滚动需要一些特殊命令),并且您(可能)可以通过按Ctrl+中断正在运行的程序C,本质上就像您从未断开连接一样。

因此,当您的原始程序以某种方式意外终止并希望写入nohup.out原因时,现在输出将进入screen会话缓冲区。但是,如果它在使用时不输出任何内容,nohup那么在内部运行时将无法获得更多信息screen。尽管运行在“under”下,但它并不是nohup终止,而是你的程序终止了nohup

相关内容