如何在 Unix 服务器上运行程序然后关闭 SSH?

如何在 Unix 服务器上运行程序然后关闭 SSH?

我需要在远程 Unix 服务器上的 MATLAB 中运行一个长时间操作。但我知道我无法一直通过 SSH 保持登录状态。如果有帮助的话,我是 root/admin。

我怎样才能做到这一点而不丢失我的工作成果?

我目前正在做的是打开 MATLAB,然后执行以下操作:

t=cputime; x=A\b; time=cputime-t; save('workspace.mat')

当此操作运行时(x=A\b 是一直占用时间的操作),我关闭了正在运行 MATLAB 的 SSH shell,操作不会继续运行。所以我得不到结果。

即使我中途退出 SSH,如何才能完成此操作?谢谢。

答案1

您要么需要使用尾随的 & 将命令推送到后台

或者更好的是,安装屏幕有可能屏保。然后,您可以拥有一个持久会话,您可以返回并检查该会话,而不必一直保持登录状态。

在服务器上安装 SCREEN 和 BYOBU 并根据需要进行配置。启动第一个会话后,如果结束并重新启动 SSH 连接,您将能够重新连接到该会话。您可以采取各种巧妙的方法来自动化会话、拥有多个窗口、多个终端等等。StackOverflow 上的这篇文章对自动化连接有一些想法。

相关内容