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
Soweit mir bekannt ist, puffern die named pipes durchaus mehr als einen Wert. Aber wenn das nicht reicht, probier mal das Programm "buffer" aus. Das arbeitet wie ein Filter.
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
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.