Beim Beenden der Shell eines Linux-Systems werden normalerweise alle laufenden Prozesse beendet oder aufgelegt. Was tun Sie also, wenn Sie die Prozesse auch nach dem Beenden der Shell/des Terminals weiterhin ausführen möchten? Hier kommt der Befehl nohup ins Spiel.
Nohup Command
Nohup, kurz für no hang up ist ein Befehl in Linux-Systemen, der Prozesse auch nach dem Beenden der Shell oder des Terminals am Laufen hält.,
Nohup verhindert, dass die Prozesse oder Jobs das Signal SIGHUP (Signal AUFLEGEN) empfangen. Dies ist ein Signal, das beim Schließen oder Verlassen des Terminals an einen Prozess gesendet wird. In diesem Handbuch werfen wir einen Blick auf den Befehl nohup und zeigen, wie er verwendet werden kann.,
Nohup-Befehlssyntax
Die Nohup-Befehlssyntax lautet wie folgt;
nohup command arguments
ODER
nohup options
Lassen Sie uns sehen, wie der Befehl ins Spiel kommt
Überprüfen der Version von Nohup
Sie können zunächst die Version von Nohup mit der folgenden Syntax überprüfen
nohup --version
Ausgabe
Starten eines Prozesses mit Nohup
Wenn Sie Ihre Prozesse/Jobs am Laufen halten möchten, gehen Sie dem Befehl mit nohup
div > wie unten gezeigt., Die Jobs werden weiterhin in der Shell ausgeführt und werden beim Verlassen der Shell oder des Terminals nicht beendet., opt to redirect the output to a different file as shown
nohup ./hello.sh > output.txt
Once again, to view the file run
cat output.txt
Output
To redirect to a file und zum Standardfehler und zur Ausgabe verwenden Sie das Attribut > filename 2>&1
wie gezeigt
nohup ./hello.sh > myoutput.txt >2&1
Ausgabe
Starten eines Prozesses im Hintergrund mit Nohup
Um einen Prozess im Hintergrund zu starten, verwenden Sie die &
div > Symbol am Ende des Befehls., In diesem Beispiel pingen wir google.com und es in den Hintergrund zu senden.,id=“8516ed8814″>
Ausgabe
Um den Prozess bei der Wiederaufnahme der Shell zu überprüfen, verwenden Sie den Befehl pgrep
wie gezeigt
pgrep -a ping
Ausgabe
Wenn Sie den laufenden Prozess stoppen oder beenden möchten, verwenden Sie den Befehl kill
, gefolgt von der Prozess-ID wie gezeigt
kill 2565
Ausgabe
Zusammenfassung
- Alle Prozesse, die mit dem Befehl der Befehl nohup ignoriert das Signal SIGHUP auch beim Verlassen der Shell.,
- Sobald ein Auftrag mit dem Befehl nohup gestartet oder ausgeführt wird, steht stdin dem Benutzer nicht mehr zur Verfügung.
- Standardmäßig wird die
nohup.out
als Standarddatei für stdout und stderr verwendet.
Leave a Reply