C++でコマンドライン "asterisk -rx" reload ""を実行するにはどうすればよいですか?助けてください。私は例が必要です。私はubuntuサーバーで作業しています。ユーザー(Webサービス内)からこのコマンドラインを実行したいと思います。あなたは子プロセスの非常にきめの細かい制御が必要な場合は、より良い方法があるC++プログラムからコマンドラインコマンドを実行する方法
system("asterisk -rx reload");
が、この:
こと が
C++でコマンドライン "asterisk -rx" reload ""を実行するにはどうすればよいですか?助けてください。私は例が必要です。私はubuntuサーバーで作業しています。ユーザー(Webサービス内)からこのコマンドラインを実行したいと思います。あなたは子プロセスの非常にきめの細かい制御が必要な場合は、より良い方法があるC++プログラムからコマンドラインコマンドを実行する方法
system("asterisk -rx reload");
が、この:
こと が
system()
機能のための些細なユースケースのような音に感謝助けが必要行かせるのは簡単です。
この呼び出しは、コマンドを実行するシェル(bashなど)を開始します。そのため、引用符を削除したのはreload
です。彼らは1つの単語のために無意味であり、シェルによって削除され、開始されたプログラムでは決して見られません。
これは良い方法ですが、代わりの方法としてfork/execを使うことができます(より多くの労力が必要ですが全体的にはより強力です) – dreamlax
私はそれをテストしていますbyt wkiring –
私はサーバー上にWebサービスを持っており、アスタリスクはリロードしていません。どうして?ヘルプが必要です –
system("asterisk -rx \"reload\"")
プロセスから標準出力またはエラーが必要ない場合は、おそらく動作します。
プロセスの結果が必要な場合は、hereがCのpopen()
を使用する例、またはBoost.Processを使用してC++のアプローチが可能です。
彼は、約7秒で私を打つ:) – LiMuBei
本当にC++/CLIを意味しましたか?あなたは[C++ - cli]タグを誤って解釈して "C++コマンドラインインターフェイス"を意味しましたか?実際にLinux用のC++/CLI実装はありますか? – celtschk