Я хочу выполнить команду оболочки Linux из «/ sbin /» с помощью execl или system (или другой команды) и скрыть ее вывод.
Я уже использую «fork», чтобы получить дочерний процесс …
Как если бы я вошел …
service "servicename" restart
Я бы увидел вывод, где написано «перезапуск xyz [OK]». Вместо этого я просто хочу, чтобы команда выполнялась без вывода сообщений, а ее вывод отбрасывался вместо отображения в моем консольном приложении.
Перенаправить вывод на /dev/null
Например.,
service smb restart 1> /dev/null
service smb restart 2> /dev/null
где 1
а также 2
представляет stdout
а также stderr
Вы можете добавить это к вашей команде:
«> / dev / null 2>&1 «
Итак, ваша команда становится:
перезапуск службы [servicename]> / dev / null 2>&1
Это то, что он перенаправляет stderr на stdout (2>&1) и перенаправляет стандартный вывод в / dev / null (> / dev / null)