アプリケーションまたは別のプログラムを介してシェルと対話する方法はありますか?

アプリケーションまたは別のプログラムを介してシェルと対話する方法はありますか?

シェルから出力を受け取り、出力を返す方法を見つけようとしていますが、他のフロントエンドインターフェイスでは? Linux端末を潜在的なアプリケーションに統合しようとしています。

ベストアンサー1

制御アプリケーションは2つのパイプを開き、Pipe()を2回使用する必要があります。次に、子プロセスを分岐します。

元のコードにある間、親はあるパイプの書き込み端と別のパイプの読み取り端を閉じます。

同時に、サブプロセスはこれらのパイプの反対側の端を閉じ、dup2()を使用してストリーム0と1に再割り当てします。これにより、親プロセスが子のstdinに書き込むパイプと、子のstdoutから読み取るパイプが残ります。

最後に、subexecは必要なパラメータを含む望ましいシェルです。

おすすめ記事