(invoke a utility immune to hangups)
nohup führt ein beliebiges Kommando oder eine Shell-Prozedur aus und ignoriert dabei die Signale SIGHUP (Signalnummer 1) und SIGQUIT (Signalnummer 3). Sie können durch nohup verhindern, dass die Ausführung eines Kommandos abgebrochen wird, wenn Sie sich vom System abmelden.
Vor dem Aufruf beachten
Wenn Sie nohup auf Pipelines oder Kommandofolgen anwenden wollen, müssen Sie die betreffenden Pipelines oder Kommandolisten in eine Datei schreiben und diese Datei als Shell-Prozedur unter nohup aufrufen.
Syntax
nohup kommando[ argument...] |
Ein beliebiges Kommando oder eine Shell-Prozedur. Sie können kommando mit Argumenten aufrufen, indem Sie diese wie üblich hinter kommando schreiben. Die Standard-Ausgabe und Standard-Fehlerausgabe von kommando werden in die Datei nohup.out im aktuellen Dateiverzeichnis geschrieben, falls sie nicht umgelenkt sind. Wenn Sie die Datei nohup.out im aktuellen Dateiverzeichnis nicht anlegen dürfen (d.h. Sie haben kein Schreibrecht im aktuellen Dateiverzeichnis) oder wenn Sie für die Datei nohup.out im aktuellen Dateiverzeichnis kein Schreibrecht haben, wird die Ausgabe in die Datei $HOME/nohup.out umgelenkt. Wenn die Datei nohup.out bzw. $HOME/nohup.out nicht existiert, wird sie angelegt und erhält dabei ausschließlich Zugriffsrechte für den aufrufenden Benutzer. Andernfalls wird die Ausgabe hinten angehängt. |
Endestatus
126 | Das angegebene kommando existiert, kann aber nicht ausgeführt werden. |
127 | Das angegebene kommando ist nicht auffindbar oder beim Kommando nohup ist ein Fehler aufgetreten. |
Fehler
Sie dürfen weder im aktuellen Dateiverzeichnis noch im Dateiverzeichnis $HOME eine Datei nohup.out anlegen bzw. in dort existierende Dateien nohup.out schreiben. |
Datei
nohup.out Datei im aktuellen Dateiverzeichnis, die die Standard-Ausgabe und Standard-Fehlerausgabe des Kommandos, das unter nohup aufgerufen wurde, enthält. $HOME/nohup.out enthält Standard-Ausgabe und Standard-Fehlerausgabe des Kommandos, das unter nohup aufgerufen wurde, falls die Datei nohup.out im aktuellen Dateiverzeichnis schreibgeschützt ist oder Sie diese Datei im aktuellen Dateiverzeichnis nicht anlegen dürfen (d.h. Sie haben kein Schreibrecht für das aktuelle Dateiverzeichnis). |
Variable
HOME Der Wert der Umgebungsvariablen HOME legt das Dateiverzeichnis fest, in dem die Datei nohup.out angelegt wird, falls die Datei nohup.out im aktuellen Dateiverzeichnis schreibgeschützt ist oder Sie diese Datei im aktuellen Dateiverzeichnis nicht anlegen dürfen. |
Internationale Umgebung
Die folgenden Umgebungsvariablen beeinflussen die Ausführung des Kommandos nohup: LANG Gibt einen Standardwert für die Variablen für die internationale Umgebung an, die nicht gesetzt oder Null sind. Ist LANG nicht gesetzt oder Null, wird der entsprechende Standardwert der internationalen Umgebung verwendet. Enthält eine der Internationalisierungsvariablen eine ungültige Einstellung, verhält sich das Kommando so, als sei keine der Variablen definiert worden. LC_ALL Ist diese Variable auf einen Wert gesetzt, d. h. ist sie nicht leer, überschreibt dieser Wert die Werte aller übrigen Internationalisierungsvariablen. LC_CTYPE Legt die internationale Umgebung für die Interpretation der Byte-Folgen eines Datentexts als Zeichen fest (z.B. Singlebytezeichen im Unterschied zu Mehrbytezeichen in Argumenten und Eingabedateien) sowie die Einteilung der Zeichen in Groß- und Kleinbuchstaben und deren Übereinstimmung. LC_MESSAGES Legt die internationale Umgebung für Format und Inhalt der Diagnosemeldungen fest, die in die Standardfehlerausgabe geschrieben werden. NLSPATH Legt den Pfad der Meldungsdateien für LC_MESSAGES fest. |
Beispiel
Sie starten folgenden Auftrag und lassen ihn im Hintergrund ablaufen:
Dann melden Sie sich vom System ab. programm wird trotzdem nicht abgebrochen. Die Ausgabe wird in die Datei nohup.out geschrieben. |
Siehe auch
chmod, kill, nice, sh signal() [4] |