如何在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