Linux服务器后台执行python代码并重定向保存输出结果

第一步,到要执行的python程序根目录
Linux上演示代码
第二步,后台执行python程序,并将结果重定向到某个结果文件中,格式如下:

nohup python -u XXX.py >> result.txt 2>&1 &

解释

codedescription
>>为重定向追加输出log到现有result.txt文件;如果写>重定向的话,则是清空原文件result.txt,再输入
python -u这个非常重要, 由于python有缓冲机制,print不一定会立刻输出到文件!!!
加了-u可以让stdout等强制无缓冲, 立刻输出到文件!
2>&1将错误重定向到标准输出中(意思是将不同等级的输出都显示在一个文件里)
最后一个&表明此python在后台运行

对上面的数字表示的含义补充解释

  • 0:代表 – stdin (standard input)标准输入
  • 1: 代表– stdout (standard output)标准输出
  • 2:代表– stderr (standard error) 标准错误
  • 2>&1: 是将标准错误(2)重定向到标准输出(&1),标准输出(&1)再被重定向输入到result.txt文件中。

演示如下:
在这里插入图片描述
其中 [1] 2294 表示当前后台程序的pid号。

其他
  1. 想要关闭后台执行的这个程序,如下:

    kill 2294    # kill + pid 即可
    
  2. 想要查看输出的结果,在同一目录下:

    cat result.txt
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值