2012-01-12 188 views
18

如何在C++中执行命令行“asterisk -rx”reload“”?请帮忙。我需要一个例子。我正在使用Ubuntu服务器,我想从用户(在web服务中)执行这个命令行。如何从C++程序执行命令行命令

需要帮助 欣赏

+1

你真的认为C++/CLI的意思是你把标签[C++ -cli]解释为“C++命令行界面”吗?实际上是否有Linux的C++/CLI实现? – celtschk 2012-01-12 09:07:03

回答

21

听起来像一个平凡的用例为system()功能:

system("asterisk -rx reload"); 

如果您需要子进程的非常精细的控制有更好的方式,但这种很容易。

这个调用启动一个shell(比如bash)来运行该命令,这就是为什么我删除了引号reload;无论如何,它们对于一个单词来说都是没有意义的,并且会被shell删除并且从未被启动的程序看到。

+0

这是好的,另一种方法可能是fork/exec(需要更多的努力,但更强大的整体) – dreamlax 2012-01-12 09:03:57

+0

我测试了它不是wkiring – 2012-01-12 10:36:41

+0

我有一个服务器上的Web服务,我试图从用户调用此方法但星号不是重装。为什么?需要帮助plz – 2012-01-12 10:37:25