Irgendwie scheint es, als würde ./program | tee /dev/null
seine Ausgabe verbrauchen. Wenn es einzeln ausgeführt wird, druckt das Programm etwas Text und läuft dann weiter, während es über UDP-Sockets kommuniziert. Es produziert eine Menge von Protokollnachrichten, die ich gefiltert anzeigen wollte, also habe ich versucht, ./program | grep -v "I dont wan't to see logs like this!" | tail -f
auszuführen, aber es produzierte keine Ausgabe. Ich gab ein wenig auf und entschied mich, nur die Ausgabe in eine andere Datei zu schicken, die ich dann mit meinem Editor untersuchen konnte, aber es ergab sich eine leere Datei.tee/dev/Nullverbrauch Eingang?
Das betreffende Programm wurde von einem Studenten geschrieben und so kann das Problem darin enthalten sein. Was könnte dieses Verhalten verursachen? Wie kann ich das korrigieren?
Zusammenfassung:
./program
druckt output
aber ./program | tee /dev/null
nichts drucken. Problem möglicherweise innerhalb der Quelle von ./program
, aber wie man es richtig sowieso benutzt?
Vielleicht erkennt das Programm, ob stdout umgeleitet wird oder nicht? Oder vielleicht versucht es den Dateideskriptor des stdout handle zu ändern? Hast du die Quelle für das Programm? –