私はGoogleで可能な解決策を見つけようとしましたが、私が見つけたのは値を返す方法の説明だけではなく、いくつかのプログラミング言語(私の場合はC / C ++?)から値を受け入れる方法ではありません。これを行う方法を知っている人はいますか?いくつかのヒントがありますか?
答え1
私はLinuxに焦点を当てていますが、私の答えは他のPOSIXシステムにも当てはまります。
次のようなCまたはC ++プログラムでシェルスクリプトを実行します。
一般的な混合物フォーク(2)、実行(2)、プロセスを待っている(2)
waitpid
終了コードを提供するにはwhenを使用してください。WEXITSTATUS
WIFEXITED
これシステム(3)C 標準ライブラリ関数。
waipid
内部実装が返すものを返します。これポッペン(3)POSIX 標準ライブラリ関数。利用
WEXITSTATUS
実績pclose
system
&が使用popen
されますfork
、、、execve
waitpid
システムコール(その他いくつかあります。参照)システムコール(2)リストを取得するには)。
詳しくは、Linuxシステムのプログラミングに関する良い本を読んでください(例:高度なLinuxプログラミング著者:M.Mitchell et al。コピーウェブ上またはアプエなど...)