Linux下后台运行python程序,并输出日志文件

转载自: https://www.csdn.net/tags/MtTaMgzsODc5NTEtYmxvZwO0O0OO0O0O.html
因为原文缺乏一些样式美化, 做了进一步名字的说明和美化工作.
场景:Python程序执行需要很长的时间或者需要一直在跑,或者需要打印并记录很多信息
策略:后台运行程序,然后把打印信息保存在指定的文件中,等程序运行结束后,再检查输出日志或者实时观察日志。

1、启动命令:

  1. 一般使用
nohup python -u Job.py > log.log 2>&1 &
  1. 只记录异常日志(推荐)
nohup python -u Job.py >/dev/null 2>error.log  2>&1 &
  1. 不记录任何日志
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
  1. 关闭进程
kill -9 19913
  1. 检查

用1中查看进程的命令,检查或确认进程是否真正被关闭。

reference:

@online{BibEntry2022Apr,
title = {{linux输出日志文件 python - CSDN}},
year = {2022},
month = apr,
date = {2022-04-17},
urldate = {2022-04-17},
language = {chinese},
hyphenation = {chinese},
note = {[Online; accessed 17. Apr. 2022]},
url = {https://www.csdn.net/tags/MtTaMgzsODc5NTEtYmxvZwO0O0OO0O0O.html},
keywords = {linux输出日志文件 python},
abstract = {{csdn已为您找到关于linux输出日志文件 python相关内容,包含linux输出日志文件 python相关文档代码介绍、相关教程视频课程,以及相关linux输出日志文件 python问答内容。为您解决当下相关问题,如果想了解更详细linux输出日志文件 python内容,请点击详情链接进行了解,或者注册账号与客服人员联系给您提供相关内容的帮助,以下是为您准备的相关内容。}}
}

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐