後臺運行python程序,想保存其打印信息,通常採用如下方式:
nohup python3 test.py >> test.log 2>/dev/null &
使用該方法會出現日誌存儲不及時的現象(程序已經運行起來了,但是沒看到日誌文件裏有日誌),這是因爲標準輸出的消息被緩存了,沒有及時輸出到標準輸出。
所以,我們需要調用方法來強制刷新緩存內容至stdout。(C語言通常採用fflush(stdout);函數來實現)
python中調用如下所示方法即可達到這一目的。
import sys
sys.stdout.flush() #刷新標準輸出緩衝區