SSH遠端跑模型訓練,如果沒有特別的設定,在關閉連線後進程就會被終止。以下提供快速設定不中斷的入門指令。
使用nohup加上&指令持續在遠端機上跑程式。以Python腳本為例:
$ nohup python -u SCRIPT.py > OUTPUT.txt 2>&1 &
nohup是不掛斷的指令,no hang up的縮寫。SCRIPT.py是要跑的腳本,可以加引數。OUTPUT.txt為紀錄想要輸出的檔案,副檔名不一定要用.txt,如果不想要輸出的話將這項改為/dev/null。注意tqdm的進度條會一直堆疊,建議要關掉。-u讓Python可以正常輸出至OUTPUT.txt。&後綴是將進程放到背景去跑,同時會返回進程序號(PID)。2>&1是一些慣用的輸出設定,詳細的解釋可查閱參考。$ kill -9 PID
PID為該進程序號,如果沒有記下來的話可透過ps指令查找。
$ ps -aux | grep SCRIPT.py
SCRIPT.py為腳本名稱,此項參數為搜尋關鍵字。
How to run Node.js as a background process and never die?
Nohup is not writing log to output file
Linux nohup 命令