Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Shell-Prozeduren und Prozesse

&pagelevel(4)&pagelevel

Shell-Prozeduren sind Kommandos, die zu einem Programm zusammengefasst sind. Um eine Shell-Prozedur zu erstellen, müssen Sie die gewünschte Kommandofolge in eine Datei schreiben. Um eine Shell-Prozedur auszuführen, rufen Sie sie mit sh <dateiname> auf. Besitzt die Datei das Ausführrecht (chmod +x <dateiname>), können Sie diese Kommandofolge direkt, also ohne sh, ausführen.

Dieser Abschnitt beschreibt die Auswirkungen der POSIX-Prozess-Struktur, wenn Sie mit der POSIX-Shell arbeiten, d.h. wenn Sie Kommandos eingeben oder mit Shell-Prozeduren arbeiten.

Alle Eingaben, die Sie nach /START-POSIX-SHELL machen, nimmt die POSIX-Shell in Empfang und führt entsprechende Aktionen aus.

Die wichtigsten Kommands sind als eingebaute Kommandos („builtin“) realisiert. Für einige Kommandos wird ein eigener Prozess erzeugt. Der Prozess, in dem die POSIX-Shell abläuft, wird damit selbst zu einem Vaterprozess.

Grundsätzlich gilt: Jeder Prozess kann einen neuen Prozess erzeugen. Solange ein Prozess keinen anderen Prozess erzeugt, ist er der Sohnprozess eines Vaterprozesses. Sobald ein Sohnprozess einen anderen Prozess erzeugt, wird er selbst vom Sohn- zum Vaterprozess.
Er behält aber dennoch dem übergeordneten Prozess gegenüber seinen Status als Sohnprozess, d.h. ein Prozess kann sowohl Vater- als auch Sohnprozess sein.

Die Vater-Sohn-Prozesshierarchie ist von großer Bedeutung, wenn Sie in Shell-Prozeduren Umgebungsvariablen weiterreichen möchten. Jeder Benutzer kann für seine POSIX-Shell (=Vaterprozess) Umgebungsvariablen definieren, mit denen die POSIX-Shell arbeiten soll. Diese Umgebungsvariablen sind aber erst einmal nur der POSIX-Shell bekannt. Wenn in einem Sohnprozess mit Umgebungsvariablen aus dem Vaterprozess (=POSIX-Shell) gearbeitet werden soll, müssen Sie diese an den Sohnprozess exportieren. Dazu steht das Kommando export zur Verfügung.