若在连接的远程服务器终端运行程序如下,会由于程序运行时间过长、空闲时间超过60分钟而导致终端窗口关闭,从而导致程序运行失败:
python3 run.py
为避免上述问题的出现,可实现如下命令在后台运行程序:
- 在后台运行python脚本run.py,即使关闭终端也不会停止
- 实时将程序的标准输出和错误输出写入到output.log文件中
nohup python3 -u run.py > output.log 2>&1 &
- nohup:不挂断,让程序在后台运行,即使关闭了终端窗口,程序也不会停止运行
- python3 -u run.py:运行python脚本命令,-u表示不要缓存标准输入和输出,以便实时输出到日志文件
- “>”:表示重定向符号,将程序的标准输出重定向到指定文件
- output.log:保存程序输出的日志文件名
- “2>&1”: 将程序的标准错误输出重定向到标准输出。错误信息也会被写入到output.log文件中
- &:将程序放到后台运行