サブプロセスを使用する Python スクリプトを作成しています。主なアイデアは、特殊な子スクリプトを実行する 1 つの親スクリプトを持つことです。たとえば、他のプログラムを実行したり、独自に何かを実行したりします。親スクリプトとサブプロセスの間にパイプがあります。それらを使用して、定期的にいくつかの文字を送信し、応答を確認することにより、サブプロセスがまだ応答しているかどうかを制御します。問題は、サブプロセスが画面に何かを出力する (つまり、stdout または stderr に書き込む) ときに、パイプが破損し、すべてがクラッシュすることです。したがって、私の主な質問は、サブプロセスで std* への書き込みをブロックできるかどうかです。したがって、パイプに書き込まれた正当な応答のみが可能でしょうか? 私はすでにStop a function from write to stdout を試みましたが、成功しませんでした。
また、親プロセスとサブプロセス間の通信に関するその他のアイデアも歓迎します (ファイル ベースのパイプを除く)。ただし、サブプロセスを使用する必要があります。