当后台程序运行时启动屏幕会话

当后台程序运行时启动屏幕会话

我让 Matlab 在 Linux 会话中运行了近 2 天,并且担心如果网络连接失败会丢失计算结果。将 Matlab 移动到后台并启动“屏幕”可以解决这个问题吗?

答案1

不,在进程启动后启动屏幕会话不会有帮助。您可以尝试的只是将进程置于后台。在我的 Linux (Mint 17) 上,我用另一个 shell 尝试了它,并将“sleep 100000”放在后台。

然后我注销了会话并开始了新的会话。该sleep 100000进程仍在运行,父进程成为进程 1(init 进程)。

步骤是:

sleep 100000

Ctrl+z

bg 1

ps -ef |grep sleep
testuser   7482  7320  0 14:44 pts/11   00:00:00 sleep 10000000

注销

登录

ps -ef |grep sleep
testuser   7482     1  0 14:44 ?        00:00:00 sleep 10000000

其他系统(如 Solaris)具有nohup允许您指定 pid 以避免挂起的命令。

答案2

不会。您的 Matlab 输出不会神奇地出现在screen会话中,因为您需要先启动screen然后在其中启动 matlab 会话。这同样适用于tmux

如果您想将此正在运行的进程的标准输入/输出重新连接到另一个您可以尝试雷普特尔

相关内容