mikrocontroller.net

Forum: PC-Programmierung Linux: named pipes mit mehr Platz?


Autor: EZ81__ (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Bobby (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: EZ81__ (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.