NoHup (steht für No Hangup) ist ein Befehl, der das HUP -Signal ignoriert. Sie fragen sich vielleicht, was das HUP -Signal ist. Es ist im Grunde ein Signal, das an einen Prozess geliefert wird, wenn die zugehörige Hülle beendet wird. Wenn wir uns abmelden, werden normalerweise alle laufenden Programme und Prozesse aufgehängt oder angehalten. Wenn wir den Prozess auch nach dem Abmelden oder einer Trennung von der aktuellen Shell weiter ausführen möchten, können wir den Befehl nohup verwenden. Es macht die Prozesse immun gegen HUP. Mit NoHup müssen Sie sich nicht mehr lange anmelden, um darauf zu warten, dass der Prozess abgeschlossen ist.
In diesem Artikel werden wir erklären, wie Sie den Befehl nohup in verschiedenen Szenarien unter Linux verwenden können.
Nohup -Befehlssyntax
Um den Befehl nohup zu verwenden, ist die Syntax::
$ nohup Befehlsargumente
oder
$ nohup Optionen
Verwenden Sie den folgenden Befehl, um die Hilfe bezüglich des Befehls nohup zu finden:
$ nohup -HELP
Verwenden Sie den folgenden Befehl, um die Versionsinformationen von NoHup zu finden:
$ nohup -Verssion
Starten Sie einen Prozess mit NoHup
Wenn Sie einen Befehl oder einen Prozess ausführen möchten, auch wenn Sie die Shell beenden, verwenden Sie den NoHup, gefolgt vom Befehl zur Ausführung:
$ nohup Command
Sobald Sie den obigen Befehl ausgeführt haben.Datei aus dem Home -Verzeichnis oder im aktuellen Verzeichnis. Wenn nun die Schale geschlossen ist oder Sie sich abmelden, wird der oben ausgeführte Befehl nicht beendet.
Ausgabe der Ausgabe in verschiedene Dateien umleiten
Standardmäßig wird die Ausgabe des Befehls nouhup zum nohup hinzugefügt.aus der Datei. Verwenden Sie, um diese Ausgabe in eine andere Datei umzuleiten, den Revertriebbetreiber, gefolgt vom Namen der spezifischen Datei. Zum Beispiel haben wir den folgenden Befehl verwendet, um die Ausgabe von NoHUp in einer neuen Datei mit dem Namen „MyScript) zu speichern.Sch".
$ sudo nohup ./mn.sh> myScipt.Sch &
Starten Sie einen Prozess im Hintergrund mit NoHup
Um den Prozess in den Hintergrund zu starten und zu stecken, müssen Sie den NoHup wie folgt verwenden:
$ nohup Command &
Der & Das Symbol fordert die Shell an, den Befehl im Hintergrund auszuführen. Es ähnelt dem obigen Befehl nohup, außer dass die Sitzung sofort zur Shell -Eingabeaufforderung zurückkehrt. Verwenden Sie den Befehl „FG“, um es wieder in den Vordergrund zu bringen.
Die Ausgabe aller von Ihnen ausgeführten Befehle wird dem Nohup beigefügt.aus der Datei. Sie können diese Datei mit dem Befehl Cat Nohup im Terminal anzeigen. Die Nummer 80132 Im obigen Screenshot gibt die Prozessidentifikationsnummer (PID) des im Hintergrund ausgeführten Prozesses an.
Starten Sie mehrere Prozesse im Hintergrund mit NoHup
Sie können mehrere Befehle im Hintergrund mit dem Befehl nohup ausführen. Im folgenden Beispiel werden MKDIR-, PING- und LS -Befehle im Hintergrund mit dem Befehl nohup ausgeführt.
$ nohup bash -c 'Mkdir -Dateien &&
Ping -c 1 Google.com && ls '> Ausgabe.txt
Beenden Sie den im Hintergrund ausgeführten Prozess
Verwenden Sie den Befehl Kill wie folgt, um einen im Hintergrund ausgeführten Prozess zu beenden:
$ Kill -9 PID
Sie finden die PID eines Prozesses, wenn Sie den NoHup mit „&“ verwenden. Eine andere Möglichkeit, PID zu finden, ist durch den Befehl pGrep -A. Wenn Sie beispielsweise den Ping -Befehl mit NoHup ausgeführt haben, wird es auch dann im Hintergrund ausgeführt, auch wenn Sie die Shell schließen. Verwenden Sie nun in diesem Fall diesen Befehl, um die PID eines im Hintergrund ausgeführten Ping -Prozesss zu finden:
$ pGrep -a ping
Es wird alle mit dem Ping -Befehl zugeordneten Prozesse aufgeführt.
Verwenden Sie nun den im Hintergrund ausgeführten Ping -Prozess den Befehl Kill wie folgt: $ Kill -9 80928so, dies war die kurze Einführung von NoHup -Befehl in Linux. Der Befehl nohup wird verwendet, um zu verhindern, dass ein wichtiger Prozess beendet wird, wenn Sie sich anmelden oder die Sitzung schließen. Es hilft sehr, wenn Sie einen Prozess ausführen, insbesondere Skripte, deren Fertigstellung lange dauert.