python無限ループを使用してWebサーバーと通信するスクリプトを作成しました。すべての通信データをファイルに記録し、同時に端末からも監視したいので、teeコマンドを使用しました。このような。
python client.py | tee logfile
しかし、端末からもログファイルからも何も得られませんでした。 pythonスクリプトは正常に動作しています。ここで何が起きているのでしょうか。何か不足していますか?
いくつかのアドバイスをいただければ幸いです。前もって感謝します。
man python
から:
-u Force stdin, stdout and stderr to be totally unbuffered. On systems
where it matters, also put stdin, stdout and stderr in binary mode. Note
that there is internal buffering in xreadlines(), readlines() and file-
object iterators ("for line in sys.stdin") which is not influenced by
this option. To work around this, you will want to use "sys.stdin.read‐
line()" inside a "while 1:" loop.
だからあなたができることは:
/usr/bin/python -u client.py >> logfile 2>&1
またはtee
を使用:
python -u client.py | tee logfile