M
macke_a
Mitglied
Hallo ! Folgenden Text habe ich über Pipes gefunden. Dabei geht es mir darum, was read macht, wenn keine Daten mehr im Fifo sind.
read: Die Daten werden in der Reihenfolge gelesen, wie sie geschrieben wurden (FIFO-Prinzip). Sie können nicht zurückgegeben und auch nicht nocheinmal gelesen werden. Wenn die Pipe leer ist, blockiert read normalerweise solange bis neue Daten in der Pipe vorliegen. Falls die Pipe auf der Schreibseite geschlossen wurde, liefert read stattdessen das Resulat 0. Das die Anzahl der zu lesenden Bytes angebende Argument von read wird nicht immer befriedigt, nur wenn genügend Daten vorliegen. Sonst werden gerade so viel Bytes gelesen, wie in der Pipe zur Verfügung stehen.
Was bedeutet das für meinen aktuellen Prozess? Blockierung?
Bleibt man Prozess dann stehen?
Nun, da ich n. der Linux Freak bin, wäre es nett wenn mir jemand von Euch dieses mal näher erläutern könnte !
Danke!
Mfg macke_a
read: Die Daten werden in der Reihenfolge gelesen, wie sie geschrieben wurden (FIFO-Prinzip). Sie können nicht zurückgegeben und auch nicht nocheinmal gelesen werden. Wenn die Pipe leer ist, blockiert read normalerweise solange bis neue Daten in der Pipe vorliegen. Falls die Pipe auf der Schreibseite geschlossen wurde, liefert read stattdessen das Resulat 0. Das die Anzahl der zu lesenden Bytes angebende Argument von read wird nicht immer befriedigt, nur wenn genügend Daten vorliegen. Sonst werden gerade so viel Bytes gelesen, wie in der Pipe zur Verfügung stehen.
Was bedeutet das für meinen aktuellen Prozess? Blockierung?
Bleibt man Prozess dann stehen?
Nun, da ich n. der Linux Freak bin, wäre es nett wenn mir jemand von Euch dieses mal näher erläutern könnte !
Danke!
Mfg macke_a