On Sun, Dec 13, 1998 at 06:27:37PM +0100, Ingo Luetkebohle wrote:
On Sun, 13 Dec 1998, Jan-Benedict Glaw wrote:
Habt Ihr Euch eigentlich schon mal Gedanken darüber gemacht, inwiefern input und output der einzelnen Prozesse buffered bzw. unbuffered sind? Könnte es sein, daß der input für den 2ten grep noch in einem bufer steckt? Dieser _muß_ gelehrt werden (->sprich: der 2te grep bekommt die Daten), wenn der erste sich beendet (tail ohne -f)...
Wenn grep oder tail nicht line-buffered sind, fress ich 'nen Besen und deklariere das als Fall für bugs@gnu.org
Gefaehrliche Worte :-) Zuerst Testdaten machen: dietmar $ (while sleep 1; do echo Besen essen > /tmp/be; done) & dann nach Besen sehen: dietmar $ dietmar $ tail -f /tmp/be | grep -i besen Liefert jede Sekunde eine Zeile, wie erwartet. dietmar $ tail -f /tmp/be | grep -i besen | grep essen Liefert lange nichts und dann eine ganze Seite voll. Wahrscheinlich ist grep nur line buffered, wenn stdout ein tty ist. Das ist sicherlich kein Bug, sondern ein Performance Feature. Guten Appetit wuenscht Dietmar -- Reporter (to Mahatma Gandhi): Mr Gandhi, what do you think of Western Civilization? Gandhi: I think it would be a good idea. Dietmar Goldbeck, E-Mail: dietmar@telemedia.de; phone +49-5241-80-7646