Tail-Problem
Dietmar Goldbeck
dietmar at telemedia.de
Sun Dec 13 21:55:38 CET 1998
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 at 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 at telemedia.de; phone +49-5241-80-7646
More information about the Linux
mailing list