Sobald unter Linux ein Prozess startet, bekommt er automatisch drei Kanäle zugewiesen. Diese lassen sich über die vom System zugewiesenen Streams (Datenströme) ansprechen und besitzen jeweils einen Ursprungs- und einen Endpunkt. Kanal 0 (STDIN) kommt beim Einlesen von Daten zum Zug, Kanal 1 (STDOUT) dient der Ausgabe von Daten, und Kanal 2 (STDERR) gibt mögliche Fehlermeldungen aus. Üblicherweise zeigt Kanal 2 auf dasselbe Gerät wie Kanal 1 1 1 .
Die Shell selbst stellt ebenfalls einen Unix-Prozess dar und verwendet ebenso diese drei Kanäle. Jeder davon lässt sich über einen File-Deskriptor ansprechen, der die jeweilige Kanalnummer repräsentiert. Unter Linux finden sich die verwendeten Kanäle im Verzeichnis /proc/PID/ fd, wobei PID der Prozess-ID des zu untersuchenden Prozesses entspricht.
Die unter Linux am häufigsten verwendete Shell Bash stellt zusätzlich noch den Kanal 255 bereit. Um beim Umlenken dieses Kanals weiterhin die Job-Kontrolle zu behalten, setzt ihn die Shell beim Start auf STDERR.
Der Artikel bezieht sich im Folgenden in weiten Teilen auf die Skripte funktionen und read.awk, die Sie im Download-Bereich zu diesem Artikel finden.
Umlenkung
Eine Umlenkung liest Kanäle eines Prozesses von einer anderen Quelle ein oder gibt sie auf ein anderes Ziel aus. Die wahrscheinlich am häufigsten genutzten Anwendungsfälle betreffen das Suchen einer