如何在C++中執行命令行「asterisk -rx」reload「」?請幫忙。我需要一個例子。我正在使用Ubuntu服務器,我想從用戶(在web服務中)執行這個命令行。如何從C++程序執行命令行命令
需要幫助 欣賞
如何在C++中執行命令行「asterisk -rx」reload「」?請幫忙。我需要一個例子。我正在使用Ubuntu服務器,我想從用戶(在web服務中)執行這個命令行。如何從C++程序執行命令行命令
需要幫助 欣賞
聽起來像一個平凡的用例爲system()
功能:
system("asterisk -rx reload");
如果您需要子進程的非常精細的控制有更好的方式,但這種很容易。
這個調用啓動一個shell(比如bash)來運行該命令,這就是爲什麼我刪除了引號reload
;無論如何,它們對於一個單詞來說都是沒有意義的,並且會被shell刪除並且從未被啓動的程序看到。
這是好的,另一種方法可能是fork/exec(需要更多的努力,但更強大的整體) – dreamlax 2012-01-12 09:03:57
我測試了它不是wkiring – 2012-01-12 10:36:41
我有一個服務器上的Web服務,我試圖從用戶調用此方法但星號不是重裝。爲什麼?需要幫助plz – 2012-01-12 10:37:25
system("asterisk -rx \"reload\"")
可能會工作,如果你不需要標準輸出或過程中的錯誤。
如果您需要該過程的結果,則here是使用C的popen()
的示例,或者您可以查看Boost.Process獲取C++方法。
他,約7秒擊敗我:) – LiMuBei 2012-01-12 09:00:53
你真的認爲C++/CLI的意思是你把標籤[C++ -cli]解釋爲「C++命令行界面」嗎?實際上是否有Linux的C++/CLI實現? – celtschk 2012-01-12 09:07:03