C++でコマンドライン「アスタリスク-rx "リロード"」を実行するにはどうすればよいですか?助けてください。例が必要です。私はubuntuサーバーで作業していますが、このコマンドラインをユーザーから(Webサービス内で)実行したいです。
助けが必要
system()
関数のささいなユースケースのように聞こえます:
system("asterisk -rx reload");
子プロセスを非常にきめ細かく制御する必要がある場合、より良い方法がありますが、これは簡単です。
この呼び出しはシェル(bashなど)を起動してコマンドを実行するため、reload
の前後の引用符を削除しました。これらは単一のWordにとっては無意味であり、シェルによって削除され、開始されたプログラムには表示されません。
system("asterisk -rx \"reload\"")
は、標準出力またはプロセスからのエラーが必要ない場合、おそらく機能します。
プロセスの結果が必要な場合、 here は、Cの popen()
、または、C++アプローチの Boost.Process を見ることができます。