当需要在远程服务器上运行大型程序或通过SSH远程登录时,通常需要将程序放在后台运行。
以下是如何使用 nohup 命令将 Python 程序放在后台运行的方法:
nohup python3 -u my_program.py > my_program.out 2>&1 &
解释如下:
- “nohup”:确保程序不会挂起;
- “python3″:指定执行 Python3 代码;
- “-u”:表示不使用缓存,实时将输出信息打印到日志文件(如果不加此选项,使用 tail 查看日志时内容不会实时刷新);
- “my_program.py”:要运行的程序;
- “>”:将输出信息重定向到日志文件;
- “my_program.out”:输出的日志文件;
- “2>&1″:将标准错误输出转换为标准输出,以便将错误信息输出到日志文件中,其中 0 表示 stdin,1 表示 stdout,2 表示 stderr;
- “&”:最后一个 “&” 表示在后台运行程序。
程序运行后会显示进程号,可使用以下命令查看进程:
ps -ef | grep python3
要终止进程,请使用 kill 命令:
kill -9 进程号
使用 tail 命令查看日志内容:
tail -f my_program.out
在程序运行过程中,您也可以使用 Ctrl+C 退出查看日志。