您好,匿名用户
随意问技术百科期待您的加入

nohup python xx.py & 无输出信息

+2 投票

使用nohup的方式,去执行一个python脚本:nohup python test.py > out.log &

结果郁闷啊,怎么都查看不到输出!

用户头像 提问 2013年 7月18日 @ Hera 上等兵 (249 威望)
分享到:

1个回答

+1 投票
 
最佳答案

python默认的print输出stdout是开启了buffered IO,所以print先输出到缓冲区,等执行完毕后才能一次性flush出去。

解决方法有以下几种:

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

nohup python -u test.py > out.log &

2.在print之后加上

sys.stdout.flush()


3. 重新设置sys.stdout

sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0)

 

用户头像 回复 2013年 7月18日 @ Gangplank 上等兵 (314 威望)
编辑 2013年 8月25日 @Saber
提一个问题:

相关问题

0 投票
1 回复 139 阅读
用户头像 提问 2012年 12月1日 @ Swain 上等兵 (232 威望)
0 投票
1 回复 43 阅读
用户头像 提问 2012年 12月1日 @ Trundle 上等兵 (301 威望)
+1 投票
1 回复 56 阅读
用户头像 提问 2012年 12月1日 @ 卫宫士郎 上等兵 (173 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...