Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

nohup - Kommando ausführen und dabei Signale ignorieren

&pagelevel(4)&pagelevel

(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...]

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

126Das 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

nohup: cannot open/create nohup.out

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:

$ nohup programm &

sending output to nohup.out


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]