我通過ssh
在另一臺機器上運行一些模擬。這是我做的如何告訴Bash在ssh斷開連接時不停止模擬?
轉到正確的目錄
cd path/to/folder
然後我就打電話給我的可執行
.\myexecutable.exe
的問題是,每次ssh斷開連接,模擬停止。我怎樣才能確保模擬不會停在另一臺機器上?一旦我重新連接(ssh),我會以某種方式收到潛在的錯誤消息(假設代碼會崩潰)?
我通過ssh
在另一臺機器上運行一些模擬。這是我做的如何告訴Bash在ssh斷開連接時不停止模擬?
轉到正確的目錄
cd path/to/folder
然後我就打電話給我的可執行
.\myexecutable.exe
的問題是,每次ssh斷開連接,模擬停止。我怎樣才能確保模擬不會停在另一臺機器上?一旦我重新連接(ssh),我會以某種方式收到潛在的錯誤消息(假設代碼會崩潰)?
您應該啓動一個screen
或tmux
來創建一個終端,您可以從中分離,離開後臺運行並稍後重新連接。
延伸閱讀:
您可能也想嘗試一下屏風:
運行命令如下:nohup ./myexecutable.exe >nohup.out 2>&1 &
的&
是在後臺運行的命令
的>nohup.out 2>&1
發送您的輸出和錯誤,以nohup.out
)
注意「/」而不是「\ ' - 這將無法在osx上運行
非常感謝您的回答。我不太明白'nohup.out'應該是什麼。它應該是我的電腦上的文件嗎?終端的一些ID(如果終端ID的概念存在)?我不太瞭解數字'2'和'1',但這對我來說可能太過先進。 – 2014-12-01 20:03:07
'nohup'不會自動將stdout(和stderr)重定向到'nohup.out'嗎?是否需要手動處理重定向? – 2014-12-01 20:04:52
nohup.out是命令的輸出,2>&1告訴它將stderr重定向到標準輸出 – KevinDTimm 2014-12-01 20:06:20