簡體   English   中英

如何獨立於當前計算機使用SSH遠程運行程序

[英]How to remotely run a program with SSH independent of my current computer

所以我想從我的桌面上運行一個程序,但是我想讓我的桌面“忘記它”,這樣,如果我的桌面崩潰或關閉,它將不會影響SSH程序。

換句話說:我希望任務可以在與我發送任務的計算機無關的遠程計算機上執行。

我為什么要這樣做? 因為我正在一台大型計算機(64核計算機)上執行一項巨大的任務,這需要花費數天的時間進行評估,但是我不希望當前的計算機必須等待它。 上次我的桌面凍結時,我失去了所有的進度。

我可以想象這個問題已經被回答了一百萬遍了,但是我不知道我要搜索什么術語,也不知道這個過程叫什么。

謝謝。

一些方法

  • 使用nohup
  • 使用畫面

使用屏幕

Ubuntu: sudo apt-get install screen

 screen 

然后在您失去了ssh會話之后。

再次登錄ssh然后

screen -r 

這將恢復ssh會話屏幕。

有關更多信息的man screen

您可以使用(在遠程大型服務器上) batch(1)命令,因為您要進行批處理

  local% ssh remotebigmachine
  remotebigmachine% batch << EOB
     ./myprog param1 param2 param3 > output.txt
  EOB
  remotebigmachine% exit

在上面, local%remotebigmachine%都是shell提示(實際上它們是不同的)。

順便說一句,對於運行數天的批處理計算,值得對一些應用程序檢查點進行編程(因為即使超級計算機也可能會出現斷電或硬件問題)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM