Der Prozess kann PIPE_BUF
Bytes (siehe linux/limits.h
) in die Pipe schreiben . Dann bleibt es stecken, bis einige Daten gelesen werden.
Die gepufferten Daten werden so lange aufbewahrt, wie mindestens ein Ende der Pipe offen ist - es gibt kein "Timeout" oder ähnliches. Die Puffer bleiben jedoch im Speicher und werden nicht neu gestartet.
pipe(7)
Weitere Informationen finden Sie auf der Handbuchseite, insbesondere im Abschnitt "Rohrleitungskapazität".
Ein Rohr hat eine begrenzte Kapazität. Wenn die Pipe voll ist, wird ein
write(2)
Will blockieren oder fehlschlagen, abhängig davon, ob das Flag O_NONBLOCK gesetzt ist (siehe unten).[...] Seit Linux 2.6.11 beträgt die Pipe-Kapazität 65536 Bytes.