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
指令查找。
查找PID
$ 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 命令