如何讓linux程序在ssh shell關閉後繼續運行?

我們經常會碰到一種情況,用ssh遠程登錄到linux服務器後,啓動一個腳本跑任務,如果這個任務耗時比較久,就得等着,如果此時由於網絡原因,ssh連接斷了,再重新登錄服務器,原來的任務就沒了,得重新運行一次。有沒有辦法讓任務切到後臺,ssh退出後還能繼續運行呢? 當然有~,而且很簡單:

1. 在ssh shell中運行腳本,比如我運行一個批量下載腳本:

 python download-app-annie.py

2. 按下ctrl-z中斷腳本運行,此時系統提示:

^Z
[1]+  Stopped                 python download-app-annie.py

意思是編號爲1的任務掛起了,[1]就是任務的編號,裏面的數字也可能是2,3,4..

3. 輸入命令:bg 1

這個命令將1號任務切換到後臺執行

4. 輸入命令:disown -h %1

這個命令的意思是將1號任務從當前shell的任務列表中移除,並且忽略HUP信號,這樣,即使當前Shell結束了,這個任務也不會被結束,而是繼續留在後臺執行。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章