我使用 PuTTY 连接到 Linux 服务器并启动屏幕会话,然后使用以下命令启动 matlab:
matlab -nodesktop
然后,我像往常一样运行我的 matlab 代码。代码将运行数小时。因此,为了测试屏幕是否正常工作,我启动另一个 PuTTY 会话并运行 top。然后,我使用以下命令关闭 PuTTY 会话:仍在运行屏幕上的 Matlab(顶部显示 Matlab 的 CPU 使用率为 100%)。令我惊讶的是,在我关闭上述会话后,我的 Matlab 进程消失了。我试过几次,似乎发生了同样的事情。
screen -ls
显示我的屏幕在那里但是分离了。顶部还显示我的 matlab 不在那里。
这可能是什么原因造成的?即使我终止了 PuTTY 会话,屏幕是否通常应该继续运行?
答案1
如果 Linux 上的 Matlab 虽然使用“-nodesktop”选项运行,但通过 PuTTY 连接到 XMing,那么当 PuTTY 会话终止时,matlab 和 XMing 之间的通信将丢失,并且 Matlab 将停止工作。
因此,在这种情况下,使用“-nodisplay”,而不是“-nodesktop”。
答案2
因为如果你终止 putty 会话,你基本上会终止此会话中所有正在运行的程序,无论它是桌面还是 shell。这和你退出系统是一样的。这可能会有所帮助你。