Bash

如何最好地在 bash 中啟動後台資源密集型任務?

  • February 14, 2022

我在 WSL2 下的 Ubuntu 18.04 中執行一些長時間執行的任務(最多一天 15 分鐘),本身在 Win11 下。

有幾次我的終端停止響應並且再也沒有回來,但我可以從資源使用情況中看到任務仍在執行。

我怎樣才能最好地啟動這個任務,使它成為一個後台任務,即使我的互動式會話過早結束,它也會持續存在?

重要的要求是:

  • 任務必須在後台執行
  • 如果出現問題,我應該能夠重新連接到會話
  • 輸出應該記錄在某處,以防我沒有及時重新連接
  • 該任務是資源密集型的,因此啟動它的方法不應顯著降低性能
  • 理想情況下,我應該能夠在本地以及通過 SSH 完成上述所有操作

以防萬一,實際任務是在 anaconda 環境中在 python 3.9 下執行的 tensorflow 作業。

你可以使用screen它。

如果連接失去,您可以簡單地重新連接到會話screen -r

如果有必要&,還可以另外完成將任務發送到後台以及記錄。>>

引用自:https://unix.stackexchange.com/questions/690664