いくつかのメッセージを印刷するためにPythonでいくつかのプログラムを書いた。プログラムがバックグラウンドに移動し、そのメッセージをファイルに印刷したいと思います。だから私はbashに次のように書きましたpython program > message &
:問題:プログラムを中断したときにのみ(catまたはviを使用)メッセージが表示されます。問題が何であるか、簡単な解決策があるかどうかを説明できる人はいますか?
ベストアンサー1
Pythonの出力がttyでない場合は、完全なバッファリングを使用します。
-- を使用してプログラムを実行すると、python -u
python3のstdoutとstderrとpython2のstdinがバッファリングされなくなります。
これはバックグラウンドで実行されるプログラムとは関係がなく、むしろプログラムのstdoutがttyではないことに注意してください。