Linux CLI コマンドを実行し、C から stdout 出力を取得する必要があります。
pipe() を使用してパイプを作成し、次に fork/exec を使用して、exec() を呼び出す前に子の stdout 記述子をパイプにリダイレクトし、親のパイプから読み取ることができます。さらに、私は子供を待つ必要があります。
system() が fork + exec + 待機を行うように、fork + リダイレクト + exec + 待機を行うための単純な呼び出しはありますか? system() のみがリダイレクトを行いません。
fork + redirect + exec を行う popen() がありますが、待機は行わないため、終了ステータスを取得できません。