Подтвердить что ты не робот

Как я могу выполнить команду командной строки из С++-программы

Как я могу выполнить командную строку "asterisk -rx" перезагрузить "" в С++? Пожалуйста помоги. Мне нужен пример. Я работаю на сервере ubuntu, и я хочу выполнить эту командную строку у пользователя (внутри веб-службы).

Нужна помощь Цените

4b9b3361

Ответ 1

Звучит как тривиальный прецедент для функции system():

system("asterisk -rx reload");

Если вам нужен очень тонкий контроль над дочерним процессом, есть более эффективные способы, но это просто сделать.

Этот вызов запускает оболочку (например, bash) для запуска команды, поэтому я удалил кавычки вокруг reload; они бессмысленны для одного слова и будут удалены оболочкой и никогда не будут видны запущенной программой. В любом случае.

Ответ 2

system("asterisk -rx \"reload\""), вероятно, будет работать, если вам не нужен стандартный вывод или ошибка процесса.

Если вам нужны результаты процесса, здесь является примером использования C popen(), или вы можете посмотреть Boost.Process для подхода на С++.