Я хотел бы перенаправить вывод, сгенерированный фоновым приложением в Linux, на / dev / null.
Я использую текстовый редактор kate, и он печатает все отладочные сообщения на терминале, которые я хотел бы перенаправить на / dev / null.
Есть идеи, как это сделать?
Спасибо
Ответы:
Ты используешь:
Если он должен работать в фоновом режиме, добавьте
&
>/dev/null 2>&1
означает перенаправлениеstdout
на/dev/null
Иstderr
в то место, гдеstdout
указывает в то времяЕсли вы хотите,
stderr
чтобы это происходило на консоли и толькоstdout
переходя к/dev/null
вам, вы можете использовать:В этом случае
stderr
он перенаправляетсяstdout
(например, на вашу консоль), а затем оригиналstdout
перенаправляется на/dev/null
Если программа не должна завершаться, вы можете использовать:
Без каких-либо параметров все выходные данные попадают в nohup.out
источник
dup2()
происходит сразу после,fork()
но раньшеexec*()
. Послеexec*()
выполнения программы оболочка не имеет возможности перенаправить вывод этого процесса. Поправьте меня, если я ошибаюсь, но я не знаю об оболочке, в которой реализована такая функциональность.Они также перенаправят оба:
хотя в руководстве по bash говорится, что первый предпочтительнее.
источник