Copyright © 1995 by O'Reilly/International Thomson Verlag

Bitte denken Sie daran: Sie dürfen zwar die Online-Version ausdrucken, aber diesen Druck nicht fotokopieren oder verkaufen.

Wünschen Sie mehr Informationen zu der gedruckten Version des Buches "Linux - Wegweiser zur Installation & Konfiguration", dann klicken Sie hier.


Kapitel 3

Einen Befehl im Hintergrund ausführen

Als es das X Window System noch nicht gab, das die gleichzeitige Abarbeitung mehrerer Programme vereinfacht, haben Benutzer die Multitasking-Fähigkeiten von UNIX genutzt, indem sie einfach ein Kaufmanns-Und (&) an das Ende eines Befehls anhängten.

$  gcc invinitjig.c & 
[1] 21457

Das Kaufmanns-Und verlagert den Befehl in den Hintergrund; das bedeutet, daß der Shell-Prompt wieder auf dem Bildschirm erscheint, so daß Sie andere Befehle ausführen lassen können, während mit gcc Ihr Programm kompiliert wird. Die [1] ist die Jobnummer, die diesem Befehl zugeordnet wurde. Die 21457 ist die Prozess-ID, auf die wir weiter unten noch eingehen werden. Die Jobnummern für Hintergrundjobs werden der Reihe nach vergeben und sind deshalb einfacher zu behalten als die Prozess-IDs.

Selbstversändlich fordert das Multitasking seinen Preis in Form von Systemressourcen. Je mehr Befehle Sie im Hintergrund abarbeiten lassen, desto langsamer wird das System durch die gleichzeitige Ausführung der Tasks.

Sie sollten keinen Job in den Hintergrund verlagern, der Eingaben von seiten des Benutzers verlangt. Der Versuch resultiert in einer Fehlermeldung wie:

Stopped (tty input)

Dieses Problem können Sie lösen, indem Sie den Job mit dem Befehl fg wieder in den Vordergrund holen. Bei mehreren Hintergrundtasks wählen Sie anhand der Jobnummer oder der Prozeß-ID den richtigen Job aus. Für unseren langlebigen gcc -Job können wir folgende Befehle absetzen:

$ fg %1 
$ fg 21457

Vergessen Sie das Prozentzeichen vor der Jobnummer nicht; dadurch unterscheiden sich Jobnummern von Prozeß-IDs.

Mit dem Befehl kill lassen sich Hintergrundjobs entfernen:

$ kill %1


Inhaltsverzeichnis Vorherige Abschnitt Nächste Abschnitt