1.概述
实际开发时,会常常有需要运行很长时间的python程序,这时最佳策略就是将它放在linux服务器后台运行,并且及时更新消息。
2.方法
1).基础命令
nohup python -u xxx.py > xxx.log 2>&1 &
- xxx.py为待运行的python程序
- xxx.log为日志文件,所有python程序运行时出现的错误信息,打印信息等,都会录入到其中
- -u表示强制其标准输出(print),和标准错误一样不通过缓存直接打印到屏幕。
- 2>&1 表示将错误输出转换为标准输出
- 最后一个& 表示后台运行
- ‘>’ 表示打印信息的写入
2).其他
只记录错误信息
nohup python -u xxx.py >/dev/null 2>error.log 2>&1 &
不记录
nohup python -u xxx.py >/dev/null 2>&1 &
3.停止运行
1)
ps -ef | grep python
- ps:进程查看命令.运用该命令可以确定运行的状态、 进程是否结束、进程有没有僵死、等
- -e:显示所有进程
- -f:全格式
- grep:基于正则的文本搜索,所以grep python就实现了在所有进程中正则搜索出python相关进程
2)
上述命令获取python进程号,然后使用:
kill xxx xxx
来停止进程,相关日志可以用vim打开去查看。