如何在c ++中执行命令行“asterisk -rx”reload“”?请帮忙。我需要一个例子。我正在使用ubuntu服务器,我想从用户(在web服务中)执行此命令行。
需要帮助 欣赏
答案 0 :(得分:24)
听起来像system()
函数的一个简单用例:
system("asterisk -rx reload");
如果您需要对子进程进行非常精细的控制,那么有更好的方法,但这很容易实现。
此调用启动shell(例如bash)来运行命令,这就是为什么我删除了reload
周围的引号;无论如何,它们对于一个单词都是毫无意义的,并且将被shell删除,并且从未被启动过的程序看到过。
答案 1 :(得分:4)
system("asterisk -rx \"reload\"")
可能会有效。
如果您需要该流程的结果,here是使用C popen()
的示例,或者您可以查看Boost.Process以获取C ++方法。