场景:Python程序执行需要很长的时间或者需要一直在跑,或者需要打印并记录很多信息
策略:后台运行程序,然后把打印信息保存在指定的文件中,等程序运行结束后,再检查输出日志或者实时观察日志。
1、启动命令:
1、一般使用
nohup python -u Job.py > log.log 2>&1 &
2、只记录异常日志(推荐)
# nohup python -u Job.py >/dev/null 2>error.log 2>&1 &
3、不记录任何日志
# nohup python -u Job.py >/dev/null 2>&1 &
说明:
1. 末尾的“&”:表示后台运行程序
2. “nohup” :保证程序不被挂起
3. “python”:是执行python代码的命令
4. “-u”:表示不启用缓存,实时输出打印信息到日志文件(如果不加-u,则会导致日志文件不会实时刷新代码中的print函数的信息)
5. “Job.py”:是python的源代码文件
6. “log.log”:是输出的日志文件
7. “>”:是指将打印信息指定到日志文件
8. “2>&1”:将标准错误输出转变化标准输出,可以将错误信息也输出到日志文件中(0-> stdin, 1->stdout, 2->stderr)
2、关闭命令
1、查看进程
# ps -ef|grep python
或者
# ps -ef|grep Job
2、关闭进程
# kill -9 19913
3、检查
用1中查看进程的命令,检查或确认进程是否真正被关闭。