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