之前,我都是使用下面这条命令在linux上运行python程序,并将程序输出(print)的内容存放至文件。

nohup python helloworld.py > helloworld.log  2>&1 &

一般情况下,这条命令是可以将python程序的输出存放至指定文件的。

但我发现,用这条语句运行程序,偶尔会出现没有输出至指定文件(该文件被创建,但长时间不更新内容)的情况。

经过查询,我发现原因是:

默认情况下,python程序在执行时是有输出缓冲的(没有细究,个人理解是需要等输出的内容达到一定量才会输出,有兴趣的小伙伴可以研究一下)

解决该问题的一个方法是:使用python的-u参数,如下所示。

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

作者:@臭咸鱼

转载请注明出处:https://www.cnblogs.com/chouxianyu/

欢迎讨论和交流!


相关文章:

  • 2021-06-08
  • 2021-09-12
  • 2021-07-27
  • 2021-09-23
  • 2021-07-29
  • 2021-06-02
  • 2022-01-14
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-02-07
  • 2021-07-25
  • 2022-01-20
  • 2021-06-08
相关资源
相似解决方案