出力をファイルにリダイレクトした場合にのみ、Python スクリプトがバックグラウンドで無期限に実行されます。なぜでしょうか?

出力をファイルにリダイレクトした場合にのみ、Python スクリプトがバックグラウンドで無期限に実行されます。なぜでしょうか?

そこで、無期限に実行するようにプログラムされた Python スクリプトがあります。最初は小さな文字列を出力しますが、その後はほとんど何も言わずに実行されます。次のように起動すると、約 1 日実行されることがわかりました。

python main.py &

ただし、次のようにすると、必要なだけ実行できます。

python main.py > /dev/null &

なぜこのようなことが起こるのか、よく分かりません。やり方が間違っているのでしょうか?

関連情報