Bash
如何最好地在 bash 中啟動後台資源密集型任務?
我在 WSL2 下的 Ubuntu 18.04 中執行一些長時間執行的任務(最多一天 15 分鐘),本身在 Win11 下。
有幾次我的終端停止響應並且再也沒有回來,但我可以從資源使用情況中看到任務仍在執行。
我怎樣才能最好地啟動這個任務,使它成為一個後台任務,即使我的互動式會話過早結束,它也會持續存在?
重要的要求是:
- 任務必須在後台執行
- 如果出現問題,我應該能夠重新連接到會話
- 輸出應該記錄在某處,以防我沒有及時重新連接
- 該任務是資源密集型的,因此啟動它的方法不應顯著降低性能
- 理想情況下,我應該能夠在本地以及通過 SSH 完成上述所有操作
以防萬一,實際任務是在 anaconda 環境中在 python 3.9 下執行的 tensorflow 作業。
你可以使用
screen
它。如果連接失去,您可以簡單地重新連接到會話
screen -r
。如果有必要
&
,還可以另外完成將任務發送到後台以及記錄。>>