Wenn Ihre Verbindung unter Linux unterbrochen wird oder sich der Benutzer vom System abmeldet, wird Ihre Sitzung normalerweise beendet, und alle vom Terminal ausgeführten Prozesse werden angehalten. Wenn Sie möchten, dass ein Programm oder Befehl auch nach dem Abmelden oder Verlassen des Systems im Hintergrund weiterläuft, müssen Sie möglicherweise den Befehl nohup verwenden.
Der Befehl nohup führt andere Programme oder Befehle mit den bereitgestellten Argumenten aus und ignoriert alle Hangup-Signale. Dieser Befehl ist nützlich, besonders wenn Sie über SSH mit Ihrem Server verbunden sind und möchten, dass das Programm oder der Befehl auch nach der Trennung vom Server im Hintergrund weiterläuft.
Nohup-Linux-Befehl
Syntax:
nohup COMMAND [ARGS]
oder
$ nohup options
So finden Sie Hilfe zum Befehl nohup:
$ nohup --help
Verwenden Sie den folgenden Befehl, um die Versionsinformationen von nohup zu finden:
$ nohup --version
1. Befehl im Vordergrund ausführen
Standardmäßig wird der Befehl nohum im Vordergrund ausgeführt und leitet die Ausgabe in die Datei „nohup.output“ um. Diese Datei wird im aktuellen Arbeitsverzeichnis erstellt. Wenn der Benutzer keine Berechtigung hat, wird es im Home-Verzeichnis des Benutzers erstellt.
$ nohup ls
Beispiel:
2. Ausführen des Befehls im Hintergrund
Die Verwendung des nohup-Befehls im Vordergrund hat den Nachteil, dass Sie nicht mit dem Terminal interagieren können, bis die Befehlsausführung abgeschlossen ist. Um dies zu vermeiden, führen wir den Befehl wie folgt im Hintergrund aus
$ nohup ping fosslinux.com
Beispiel:
Sie können im obigen Beispiel sehen, dass die gesamte Befehlsausgabe an die Datei nohup.out angehängt wird. Sie können diese Datei mit dem Befehl „cat nohup“ im Terminal anzeigen.
[1] 2233
Wobei [1] die Job-ID und 2233 die (PID) des Hintergrundprozesses ist. Sie können diese Prozess-ID verwenden, um den Hintergrundprozess zu beenden:
$ kill 2233
Der obige Befehl beendet den Hintergrundprozess.
3. Ausgabe in eine Datei umleiten
Standardmäßig schreibt der nohup-Befehl die Ausgabe in nohup.out
Datei. Sie können auch Ihre eigene Ausgabedatei definieren, indem Sie die Standard-Shell-Umleitung verwenden.
$ nohup ls > list.out
Beispiel:
Sie können auch separate Dateien für Ausgabe und Fehler erstellen, indem Sie die folgende Befehlszeile verwenden.
nohup ls > list.out 2 > list.err
4. Ausführen mehrerer Befehle
Sie können auch mehrere Befehle mit nohup ausführen. Im folgenden Beispiel werden mkdir-, bash- und ls-Befehle im Hintergrund ausgeführt.
$ nohup bash -c 'mkdir fossDir && ls'
Beispiel:
Schlussfolgerung
In diesem Tutorial wird die Verwendung des nohup-Befehls mit einfachen Beispielen erklärt, und wir hoffen, dass Sie die Nützlichkeit dieses Befehls jetzt sehr gut verstehen können. Bitte zögern Sie nicht, einen Kommentar zu hinterlassen.