之前,我都是使用下面這條命令在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/
歡迎討論和交流!