3.2.13.4 Zwei Prozesse kommunizieren über Pipes

Mandl 2013 beschreibt Pipes als Einweg-Kommunikationskanäle, die es einem Prozess ermöglichen, Daten bzw. Nachrichten über das Betriebssystem als Datenstrom an einen anderen Prozess zu übertragen.

Beispiel

Ein ganz einfaches Beispiel für eine Pipe liefert der folgende Befehl, der beispielsweise auf einer Linux-Shell eingegeben werden kann:

ls -l | more

Genaugenommen handelt es sich hier um die beiden Programme ls und more.

Das erste Programm wird mit dem Parameter    -l    aufgerufen und insgesamt ergibt ls -l einen Prozess, der den Inhalt des aktuellen Verzeichnisses in einer ausführlichen Fassung zurückliefert.

Der Prozess des zweiten Programms nimmt eine beliebige Menge an Informationen entgegen und gibt sie seitenweise zurück. Nach jeder Seite wird zunächst ein Tastendruck abgewartet, anschließend wird die nächste Seite geliefert.

Das Zeichen    |    ist das sogenannte Pipe-Zeichen, es verbindet die Ausgabe des ersten Prozesses mit der Eingabe des zweiten.

Durch den Befehl    ls -l | more    wird also der Inhalt des aktuellen Verzeichnisses seitenweise auf dem Bildschirm ausgegeben.



Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png