Как перенаправить вывод запущенной программы в / dev / null

Я знаю, что для подавления вывода программы я могу перенаправить ее на /dev/null , например, чтобы скрыть все сообщения об ошибках и предупреждения от хрома. Я могу запустить программу, как это

 chromium-browser 2> /dev/null & 

Однако, если я случайно забуду об ошибках и типах сообщений

 chromium-browser & 

(что очень раздражает, когда они появляются в середине команды). Я не знаю, что делать, кроме как остановить приложение и снова запустить его правильно.

Могу ли я каким-либо образом перенаправить вывод ошибки без перезапуска приложения?

  • Почему перенаправление STDERR на / dev / null выполняется таким образом?
  • io перенаправление на «крест» 2 программы
  • перенаправить в тот же файл, что и исходный файл, обработанный командой
  • Вывод команды перенаправления на / dev / null
  • Почему некоторые linux-инструменты записывают в STDERR вместо STDOUT по умолчанию?
  • Как перенаправить вывод cowsay на вход zwrite
  • Ограничить размер файла журнала
  • Захват вывода без перенаправления и оставьте его на терминале тоже
  • 3 Solutions collect form web for “Как перенаправить вывод запущенной программы в / dev / null”

    Вы также можете запустить браузер с nohup, а затем закрыть окно терминала следующим образом:

     nohup chromium-browser & 

    Таким образом, браузер запустится и отсоединится от консоли, которая затем может быть закрыта тихо.

    На это был дан ответ: здесь владр . Ответ (цитирование):

    • присоедините к рассматриваемому процессу с помощью gdb и запустите:
    • p dup2 (open ("/ dev / null", 0), 1) (для перенаправления stdout)
    • p dup2 (open ("/ dev / null", 0), 2) (для перенаправления stderr)
    • отрывать
    • уволиться

    Я попробовал его по следующему сценарию:

    [выпуск после первого комментария:]

      sleep 10 #, поэтому у меня может быть время для присоединения к процессу
     если ["$ sonorphather" == "отец"] # избегать бесконечной рекурсии 
     тогда 
        sonorfather = son ./test & 
     фи 
    
     тогда как true 
     делать 
        эхо "stdout $ sonorfather" 
        эхо "stderr $ sonorfather"> & 2 
        спать 1 
     сделанный 
    

    Я отключил вывод stderr до того, как был создан процесс son, вот результат:

     отец 
     сын 
     отец 
     сын 
     [и так далее...]. 
    

    Надеюсь, это ответит на ваш вопрос: также был перенаправлен процесс обработки сына.

    Вы также можете настроить псевдоним для chromium-browser вместо этого запустите chromium-browser 2> /dev/null

    например, если вы используете bash, отредактируйте /home/username/.bashrc и добавьте строку:

     chromium-browser='chromium-browser 2> /dev/null' 

    или еще лучше

     chrome='chromium-browser 2> /dev/null' 

    и сохраните несколько нажатий клавиш.

    Linux и Unix - лучшая ОС в мире.