🎉

Python で Systemd や nohup を使っていてログがリアルタイムに出力されないとき

2021/09/18に公開

Python スクリプトでリアルタイムにログが出力されないときの対処法。

-u オプションで起動する

$ python -u main.py

-u オプション | 1. コマンドラインと環境 — Python 3.8.5 ドキュメント

force the stdout and stderr streams to be unbuffered;
this option has no effect on stdin; also PYTHONUNBUFFERED=x

端末以外からの実行だとバッファして stdout します。
強制的に unbufferd (バッファなし) に出力させるときは -u をつけて実行します。

GitHubで編集を提案

Discussion