Ssh

在後台移動正在執行的程序並保持執行,即使您斷開連接

  • May 14, 2013

您已經有一個正在執行的程序,並且希望將其置於後台執行。

如果您想確保在您關閉 ssh 連接後它仍然會執行,您應該怎麼做?

注意:在您要做出此決定時,您已經在執行該流程。

我知道Ctrl-Z並且bg會讓它在後台執行,但我仍然擔心當你關閉 ssh 連接時程序會被殺死。

只需輸入disown,它是一個 bash 內置

如果沒有選項,每個作業規範都會從活動作業表中刪除。如果給出 -h 選項,則不會從表中刪除每個作業規範,但會進行標記,以便在 shell 接收到 SIGHUP 時不會將 SIGHUP 發送到作業。如果不存在作業規範,並且既沒有提供 -a 也沒有提供 -r 選項,則使用目前作業。如果沒有提供作業規範,-a 選項表示刪除或標記所有作業;不帶 jobspec 參數的 -r 選項將操作限制為正在執行的作業。除非作業規範未指定有效作業,否則返回值為 0。

從頭開始,你會這樣做

- <command> & #make it run in background
- disown #make it run even if your ssh session disconnect

引用自:https://serverfault.com/questions/507762