栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Python

Linux 后台运行与输出

Python 更新时间:发布时间: 百科书网 趣学号
nohup python flush.py &

这样运行,能够生成nohup.out文件,但是内容始终是空的。具体原因:python的输出是有缓冲的,即使在py脚本中每次遍历都有打印输出,但是因为缓冲的作用,我们不能在nohup.out日志中立即看到打印的输出。

nohup python -u flush.py > flush.log 2>&1 &

-u 参数,使得python不启用缓冲。

如果python带参数也是一样的

 nohup python -u train4.py train_base configs/magicpoint_shapes_pair.yaml magicpoint_synth --eval > nohup.out 2>&1 &

解析:

  1. nohup  不挂断地运行命令,忽略所有挂断信号(SIGNUP信号),比如当账号注销时。最后的&:表示后台运行。nohup command &,表示后台运行nohup命令。
  2. linux中的0表示标准输入,1表示标准输出,2表示标准错误输出。
  3. > 表示覆盖式重定向。正常输出是把内容输出到显示器上,重定向是把内容输出到文件中。 command > xxx.txt,将输出重定向到xxx文件中。
  4. >> 表示追加式重定向。command >> xxx.log,将输出重定向追加到xxx.log文件中。
  5. 2 > &1 ,2是标准错误输出,1是标准输出,这里的&表示引用的意思,对标准输出的引用。所以这个命令就表示将标准错误输出也重定向到标准输出指向的文件中。

前台实时查看nohub.out文件内容:

tail -f nohup.out 

根据关键字查看

tail -f nohup.out |grep "关键字"

输出文件最后100行

tail -n 100 nohup.out 

输出文件最后100行,含关键字

tail -n 100 nohup.out |grep "关键字"

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/587417.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号