Linux: named pipes mit mehr Platz?

Gast #670128
Lesenswert?

Guten Abend,

ich möchte folgendes (halbwegs einfach und überschaubar, Effizienz ist 
unwichtig) mit bash-Skripten (wenn möglich) umsetzen:

Skript A: Bekommt gelegentlich einen Wert als Parameter übergeben und 
legt diesen in einer Warteschlange ab, ohne darauf zu warten, dass B ihn 
abholt.

Skript B: greift den ersten Wert aus der Warteschlange, bearbeitet ihn 
(was etwas dauern kann), greift den nächsten, u.s.w.. Wenn die Schlange 
dann leer ist, wartet es, bis wieder ein Wert dazukommt.

Bei der Suche bin ich auf named pipes gestoßen, die ideal wären, aber 
leider nur einen Wert aufnehmen können, d.h. B muss den Wert lesen, 
bevor A den nächsten schreiben kann, was gerade nicht der Sinn der Sache 
sein soll.

Ich hatte schon eine Idee mit numerierten Dateien in einem Verzeichnis, 
die von A geschrieben und von B einzeln gelesen, verarbeitet und dann 
gelöscht werden, aber das muss doch eleganter gehen?

Oder liege ich ganz falsch und es gibt einen ganz anderen Ansatz für das 
Problem? Wonach kann ich suchen?

Grüße,
;Matthias
Gast #670731
Lesenswert?

Hallo Bobby,

danke, es geht tatsächlich irgendwie mit mehreren Einträgen, aber nicht 
so, wie ich es mir vorgestellt hatte. Werde doch die Pfuschlösung mit 
den Dateien probieren.
Danke

Matthias
Gast #670932
Lesenswert?

Eine Pipe (ob nun mit oder ohne Name) ist unter Linux per Default auf 4k 
begrenzt. Ändern kann man das nicht ohne weiteres.

> danke, es geht tatsächlich irgendwie mit mehreren Einträgen, aber nicht
> so, wie ich es mir vorgestellt hatte.

Wie hast du es dir denn vorgestellt?

> Werde doch die Pfuschlösung mit den Dateien probieren.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren