バックグラウンドリダイレクト

バックグラウンドリダイレクト

いくつかのメッセージを印刷するためにPythonでいくつかのプログラムを書いた。プログラムがバックグラウンドに移動し、そのメッセージをファイルに印刷したいと思います。だから私はbashに次のように書きましたpython program > message &:問題:プログラムを中断したときにのみ(catまたはviを使用)メッセージが表示されます。問題が何であるか、簡単な解決策があるかどうかを説明できる人はいますか?

答え1

Pythonの出力がttyでない場合は、完全なバッファリングを使用します。

-- を使用してプログラムを実行すると、python -upython3のstdoutとstderrとpython2のstdinがバッファリングされなくなります。

これはバックグラウンドで実行されるプログラムとは関係がなく、むしろプログラムのstdoutがttyではないことに注意してください。

答え2

フラッシングは役に立ちますか?他のサイトへのリンクが問題にならないことを願っています。バラよりhttps://stackoverflow.com/questions/230751/how-to-flush-output-of-print-function

関連情報