私は他の外部プロセスを実行しなければならないプログラムを書いています。現在、プログラムはpopenを介してプロセスのコマンドラインを起動し、出力を取得してから、pcloseを介して終了ステータスを取得します。
ただし、実行速度の速いプロセス(たとえば、起動されたプロセスがすぐにエラーになる)の場合、pclose呼び出しは終了ステータスを取得できません(pcloseは-1を返し、errnoはECHILDです)。
プロセス終了の「イベント」と結果のリターンコードのキャプチャを保証する方法を除いて、popen / pcloseタイプの動作を模倣する方法はありますか?pcloseと起動されたプロセスの終了に伴う固有の競合状態を回避するにはどうすればよいですか?