linux中nohup運行python程序無后台輸出


之前,我都是使用下面這條命令在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/

歡迎討論和交流!



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM