如何从C++程序执行命令行命令

How can I execute a command line command from a C++ program

本文关键字:执行 命令行 命令 程序 C++      更新时间:2023-10-16

如何在c++中执行命令行"星号-rx"reload"?请帮忙。我需要一个例子。我在ubuntu服务器上工作,我想从用户(在Web服务中)执行这个命令行。

需要帮助赞赏

听起来像是system()函数的一个琐碎用例:

system("asterisk -rx reload");

如果您需要对子进程进行非常细粒度的控制,有更好的方法,但这很简单。

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

如果不需要标准输出或过程中的错误,

system("asterisk -rx "reload"")可能会工作。

如果您需要这个过程的结果,这里有一个使用C的popen()的例子,或者您可以查看Boost.process中的C++方法。