ZeroMQ を使用して、Python でローカルに実装されたある種のマルチエージェント システムを実行しています。マスターはメイン スレッド ( python Admin.py
) として開始され、このスレッドはワーカー エージェントをmultiprocessing.Process
サブプロセスとして開始します。
Admin.py とワーカーの両方が、単純なprint
コマンドを使用して出力を書き込みます。ここで、コンソールに表示されるすべての出力を取得しようとします: $ python Admin.py > file.txt
. ただし、このステートメントは、Admin.py によって書き込まれた出力のみをフェッチします。stdout に sterr をパイプするなど、さまざまなリダイレクトを試みましたが、stdout を取得しました ( 1>&2 > file.txt
) が、結果はありませんでした。この質問は、Satckoverflow (こことここ) でさまざまな形式で尋ねられており、回答にはかなりの追加の Python コーディングが含まれているようです。この問題に対する Bash ソリューションはありますか? コンソールにすべての出力が表示されるのに、Bash がそれをファイルにリダイレクトできないのはなぜですか?