Alle Befehle in einer Pipeline werden gleichzeitig gestartet und gleichzeitig ausgeführt - Befehl 2 wartet nicht darauf, dass Befehl 1 beendet wird. Stattdessen sind Pipelines auf das Blockieren von Lesevorgängen angewiesen, bis der vorhergehende Befehl etwas ausgegeben hat.
Zum Beispiel ist der Ausgang (stdout) von 1cat /tmp/f
direkt mit dem Eingang von verbunden ; Immer wenn sh versucht, aus seinem Standardwert zu lesen, wird es blockiert, bis cat eine Ausgabe erzeugt hat./bin/sh -i
1 (Fast direkt; der Stdout der Katze und der Stdin der Katze sind an zwei Enden eines "Pipe" -Objekts gebunden.)