だからここに状況があります(ウィンドウで):
- 親によって開始された子プロセスがあります。このプロセスでは、パイプが1つだけ開いています(stdout)。
- 親がプロセスを終了するために、pcloseを呼び出します
- パイプでreadを呼び出して、パイプが壊れているかどうかを検出してプロセスを終了することはできません(これは書き込み専用パイプであるため、readは常にエラーですぐに返されます)
(親の)読み取り側が閉じたときにパイプからイベントを取得する方法はありますか?そうでない場合は、パイプがいつ閉じるかを検出するために、パイプにガベージを継続的に書き込む必要があります。これは、最適ではなく無駄な解決策です。