如何在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 上的這篇文章對自動化連接有一些想法。

相關內容