Bash
後台重定向
我用 Python 編寫了一些程序來列印一些消息。我希望該程序進入後台並在文件中列印其消息。所以我在 bash 中寫道:
python program > message &
. 問題:只有在我中斷程序時才會出現消息(使用 cat 或 vi)。有人可以向我解釋問題出在哪裡,是否有簡單的解決方案?
當 Python 的輸出不是 tty 時,它使用完全緩衝。
使用 – 執行程序,
python -u
這將使 python3 中的 stdout 和 stderr 以及 python2 中的 stdin 無緩衝。請注意,這與在後台執行的程序無關,而是因為它的標準輸出不是 tty。
沖洗可以幫助你嗎?我希望連結到其他網站不是問題。見https://stackoverflow.com/questions/230751/how-to-flush-output-of-print-function