Linux 后台运行与输出

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 "关键字"

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值