В оболочке вы можете перенаправить, >
<
и т. Д., Но как насчет ПОСЛЕ запуска программы?Перенаправить STDERR/STDOUT процесса ПОСЛЕ того, как он был запущен, используя командную строку?
Вот как я пришел, чтобы задать этот вопрос, программа, работающая в фоновом режиме моего терминала, продолжает выводить раздражающий текст. Это важный процесс, поэтому я должен открыть другую оболочку, чтобы избежать текста. Я хотел бы иметь возможность >/dev/null
или другое перенаправление, поэтому я могу продолжать работать в одной оболочке.
Я знаю, что самый простой способ перенаправить STDOUT/STDERR является dup2 их дескрипторов файлов ПЕРЕД разветвления. Это довольно стандартная практика и, вероятно, то, как раковины выполняют ее прямо сейчас.Не уверен, что это дает ответ, но я думаю, что это уменьшает вероятность того, что он будет хорошим. –
[reptyr] (https://github.com/nelhage/reptyr) – Louis