Как я могу выполнить командную строку "asterisk -rx" reload "" в C ++? Пожалуйста, помогите. Мне нужен Пример. Я работаю на сервере ubuntu и хочу выполнить эту командную строку от пользователя (внутри веб-службы).
Нужна помощь Оцените
Похоже на тривиальный вариант использования функции system()
:
system("asterisk -rx reload");
Если вам нужен очень детальный контроль над дочерним процессом, есть более эффективные способы, но это легко начать .
Этот вызов запускает оболочку (например, bash) для запуска команды, поэтому я удалил кавычки вокруг reload
; они бессмысленны для одного слова и будут удалены оболочкой и, в любом случае, никогда не будут видны запущенной программе.
system("asterisk -rx \"reload\"")
, вероятно, сработает, если вам не нужен стандартный вывод или ошибка процесса.
Если вам нужны результаты этого процесса, здесь является примером использования C popen()
, или вы можете посмотреть на Boost.Process для C ++ подход.