![]() ![]() ![]() |
![]() ![]() |
Pipes (Röhren) dienen der Verknüpfung eines Ausgabe- mit einem Eingabestrom:
user@sonne> cd /dev user@sonne> ls -l | less
speist die Ausgabe von ls -l
in die Eingabe von
less
(ohne diese Pipe hätte man keine Chance,
die Ausgaben - ca. 1500 Zeilen - am Bildschirm zu verfolgen).
Anstelle von Pipes können auch FIFO-Dateien verwendet werden (kaum gebraucht):
user@sonne> mkfifo fifo user@sonne> ls -l > fifo& user@sonne> less fifo user@sonne> rm fifo
ls -l
schreibt nun in die Datei fifo, aus der
less
seine Daten
bezieht. Um die Shell für die nächste Eingabe frei zu
bekommen, wurde ls -l
im
Hintergrund gestartet (&
bewirkt diesen Effekt).
Alternativ kann man auch wie folgt vorgehen:
user@sonne> ls -l > fifo ^z [1]+ Stopped ls --color=tty -l >fifo user@sonne> bg [1]+ ls --color=tty -l >fifo & user@sonne> less < fifo [1]+ Done ls --color=tty -l >fifo
<CTRL><Z> stoppt die Ausführung des aktiven Prozesses
(es erscheint eine Meldung: ..Stopped...
),
bg
lässt den Prozess nun im Hintergrund laufen.
Mit Beenden von less
terminiert auch ls -l
. Mit fg
kann man den zuletzt in den Hintergrund beförderten Prozess wieder in den
Vordergrund holen (fg jobnr
holt den Job mit der angegebenen Nummer in den Vordergrund).
![]() ![]() ![]() |
![]() ![]() |