[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: named pipe Dateien machen Probleme



On Tue, Apr 29, 2003 at 06:41:05PM +0200, Frank Niedermann wrote:
> wenn ich ein grep -ri test /etc ausführe bleibt der Befehl
> nach ein paar Sekunden stehen.
> 
> Durch Prüfen der einzelnen Unterverzeichnisse habe ich fest-
> gestellt das grep bei named pipe Dateien hängenbleibt, z.B.
> prw-------    1 root     root            0 Mar  6 20:17 ok

Ja, das ist etwas fies.

> Auch vi hat Probleme beim Öffnen der Datei, hilft nur noch
> ein killall vi :(

Da werden sich die anderen User auf dem System wenig freuen, wenn
plötzlich der vi beendet wird. Erinnert mich irgendwie an einen alten
Uni-NT-Server, auf dem nach dem Einspielen eines Service-Packs die
lustige Meldung kam: "91 Benutzer sind mit diesem Server verbunden -
wollen Sie die Verbindungen trennen?". ;)

> Woran liegt das, sind named pipe Dateien irgendwie geschützt
> und wenn ja wie kann ich diese Dateien bei grep umgehen?

Pipes funktionieren wie ein Puffer. Ein Programm kann Datenströme da
hineinschreiben und ein anderes Programm kann Daten da rauslesen - mal
stark vereinfacht ausgedrückt. Wenn du lesend auf eine Pipe zugreifst,
dann wartest du damit, bis ein anderes Programm da was reintut. Und ein
"grep" macht nun einmal einen Lesezugriff... und bleibt damit hängen.

Das ist das Problem. Einen magischen Schalter für grep habe ich nicht
gefunden, der dieses Problem umgeht. Ich würde das vielleicht mit einem
find-Befehle workarounden. Etwa so (ungetestet):

find . -type f -exec grep -i suchbegriff {} \;

Aber vielleicht haben andere Mitleser ja noch bessere Ideen.

 Christoph

-- 
~
~
".signature" [Modified] 3 lines --100%--                3,41         All



Reply to: