Как-то кажется, что работает ./program | tee /dev/null
потребляет его выход. Когда он запускается сам по себе, программа печатает некоторый текст, а затем продолжает работать при общении по сокетам UDP. Он создает много сообщений журнала, которые я хотел просмотреть в отфильтрованном виде, поэтому я попытался запустить ./program | grep -v "I dont wan't to see logs like this!" | tail -f
, но он не выдал никаких результатов. Я немного сдался и решил сделать только вывод в другой файл, который я мог бы проверить с помощью моего редактора, но в результате появился пустой файл.tee/dev/null потребляющий вход?
Программа, о которой идет речь, была написана студентом, и поэтому проблема может быть в ней. Что может вызвать такое поведение? Как я могу это исправить?
Резюме:
./program
печатает output
но ./program | tee /dev/null
ничего не печатает. Проблема, возможно, в источнике ./program
, но как правильно ее использовать?
Возможно, программа обнаруживает, перенаправлена ли stdout или нет? Или, возможно, он пытается изменить дескриптор файла дескриптора stdout? У вас есть источник для программы? –