温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

关于 Linux 下后台执行 Python 脚本的缓冲问题

发布时间:2020-06-05 22:43:16 来源:网络 阅读:1370 作者:RQSLT 栏目:编程语言

【问题简述】

  在 Linux 下后台执行 Python 脚本,重定向到日志文件,日志文件迟迟没有内容。


【方案一】(测试有效)

nohup python3 -u t.py &> log.log &
# 限制大小
nohup python3 -u t.py 2>&1 | rotatelogs -n 1 /var/log/logfile 1M &


【方案二】(测试无效)

    方案二来自 stackoverflow,虽然测试无效,但其他地方也许会用到,记录一下。

stdbuf -oL nohup python3 t.py &> log.log &


【关于重定向】

& 是一个描述符,如果1或2前不加&,会被当成一个普通文件。
1>&2 意思是把标准输出重定向到标准错误。
2>&1 意思是把标准错误输出重定向到标准输出。
&>filename 意思是把标准输出和标准错误输出都重定向到文件filename中

将标准输出连同标准错误重定向到空,常用形式:

shell命令 >/dev/null 2>&1

最简形式(cmd 不支持这种格式):

shell命令 &>/dev/null


【相关阅读】

  • Linux 下日志管理工具(rotatelogs/logrotate/cronolog)


*** walker ***

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI