GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Beispiele für Nohup-Befehle – Führt einen Befehl aus, der nach dem Abmelden weiter ausgeführt wird

Das Dienstprogramm nohup führt eine Befehlszeile aus, sodass der Befehl weiter ausgeführt wird, nachdem Sie sich abgemeldet haben. Mit anderen Worten, nohup bewirkt, dass ein Prozess ein SIGHUP-Signal ignoriert. Je nachdem, wie die lokale Shell konfiguriert ist, kann ein Prozess, der ohne nohup gestartet wurde und im Hintergrund läuft, beendet werden, wenn Sie sich abmelden.

Syntax zum Ausführen des nohup-Befehls

Die grundlegende Befehlssyntax zum Ausführen eines nohup-Befehls lautet wie folgt:

# nohup command_with_options &

Alle Ausgaben Ihres Jobs werden in eine Datei namens „ nohup.out “ umgeleitet, sofern Sie mit

nichts anderes angeben

# nohup command > myout.file 2>&1

die alle Ausgaben an die Datei myout.file.

sendet

Speichern der Ausgabe des nohup-Befehls

Wenn Sie die Ausgabe eines Befehls, den Sie mit nohup ausführen, nicht umleiten, werden sowohl die Standardausgabe als auch der Standardfehler an die Datei mit dem Namen nohup.out gesendet im Arbeitsverzeichnis. Wenn Sie keine Schreibrechte für das Arbeitsverzeichnis haben, sendet nohup die Ausgabe an ~/nohup.out .

Sie können die Ausgabe auch an jede andere von Ihnen angegebene Datei senden, wie oben in der Syntax des Befehls gezeigt.

Beispiele

1. Ausführen von nohup ohne Angabe einer Ausgabedatei

Lassen Sie uns ein Beispiel machen und testen, ob es tatsächlich weiter funktioniert, nachdem Sie sich abgemeldet haben. Wir starten ein Skript namens script.sh. Der Inhalt des Skripts ist wie folgt:

# cat script.sh
#!/bin/sh
while(true)
do
	echo "Hello World!"
	sleep 10
done

Lassen Sie uns das Skript in backgroupd mit dem Befehl nohup ausführen:

# nohup script.sh & 
[1] 179 
$ nohup: appending output to `nohup.out`

Wie Sie oben sehen können, haben wir keine Ausgabedatei angegeben. Daher gehen die Standardausgabe und der Standardfehler standardmäßig in die Datei nohup.out in dem Verzeichnis, aus dem das Skript aufgerufen wurde. Auch die Nummer 179 Gibt die Prozess-ID (PID) des Jobs an. Diese PID kann in der Ausgabe des Befehls „ps -ef“ wie unten gezeigt überprüft werden.

Verlassen Sie nun die Shell, melden Sie sich erneut an und führen Sie den folgenden Befehl aus:

$ ps x | grep script.sh
179  ?   S N  0:01 sh /root/script.sh 
506  p2 S     0:00 grep script.sh

Das Skript funktioniert noch. Verwenden Sie „ps -ef | grep ps1“, wenn Ihr System ps x nicht unterstützt. Sie können auch die Ausgabedatei nohup.out auf weitere Bestätigung überprüfen.

# cat nohup.out
Hello World!
Hello World!
Hello World!
Hello World!
...
HINWEIS :Wenn Sie einen anderen Befehl mit nohup ausführen, wird die Ausgabe an die vorhandene nohup.out-Datei angehängt. Seien Sie vorsichtig, wenn Sie mehrere Befehle aus demselben Verzeichnis ausführen, da die gesamte Ausgabe an dieselbe nohup.out-Datei gesendet wird, was verwirrend werden kann.

Ausführen von nohup unter Angabe einer Ausgabedatei

Jetzt kann das obige Skript auch mit dem nohup-Befehl ausgeführt werden und eine benutzerdefinierte Ausgabedatei angeben, wie unten gezeigt:

# nohup script.sh > /tmp/script.out 2>&1
[1] 14235

Schlussfolgerung

Wenn Sie einen Prozess ausführen und nicht glauben, dass er abgeschlossen sein wird, wenn Sie sich für den Tag abmelden, verwenden Sie den Befehl nohup. Nohup wird die Verarbeitung fortsetzen, wenn Sie Ihr Konto verlassen. Nohup bedeutet nicht auflegen .


Linux
  1. Linux Pinky Command Tutorial für Anfänger (8 Beispiele)

  2. Nohup-Befehl mit Beispielen

  3. 4 Möglichkeiten, einen Befehl weiter auszuführen, nachdem Sie sich von der SSH-Sitzung abgemeldet haben

  4. 20 Beispiele für OpenSSL-Befehle, die Sie kennen müssen

  5. 4 Möglichkeiten, einen CPU-Kern herauszufinden, der einen bestimmten Prozess in Linux ausführt

8 Linux-Tee-Befehl mit Beispielen

Nohup Linux-Befehl mit Beispielen

Mit dem Nohup-Befehl unter Linux können Sie Befehle auch nach dem Abmelden ausführen

Beispiele für Linux-Echo-Befehle

3 SELinux sestatus Befehlsausgabe mit Beispielen erklärt

Kannst du das toppen? 15 praktische Beispiele für Top-Befehle unter Linux