Nohup Command in Linux

Beim Verlassen der Shell eines Linux-Systems werden normalerweise alle laufenden Prozesse beendet oder hängen. Was tun Sie also, wenn Sie die Prozesse auch nach dem Verlassen der Shell/des Terminals weiterlaufen lassen möchten? Hier kommt der Nohup Command ins Spiel.

Nohup Command

Nohup, kurz für no hang up, ist ein Command in Linux-Systemen, der Prozesse auch nach dem Verlassen der Shell oder des Terminals weiterlaufen lässt. Nohup verhindert, dass die Prozesse oder Jobs das SIGHUP (Signal Hang UP) Signal erhalten. Dies ist ein Signal, das an einen Prozess gesendet wird, wenn das Terminal geschlossen oder verlassen wird. In diesem Leitfaden werfen wir einen Blick auf den Nohup Command und demonstrieren, wie er verwendet werden kann.

Nohup Command in Linux Syntax

Die Syntax des Nohup Commands lautet wie folgt;

ODER

Lassen Sie uns sehen, wie der Command ins Spiel kommt

Überprüfung der Version von Nohup

Sie können beginnen, indem Sie die Version von Nohup mit der untenstehenden Syntax überprüfen

Output

Starten eines Prozesses mit Nohup

Wenn Sie Ihre Prozesse/Jobs am Laufen halten möchten, setzen Sie dem Befehl nohup wie unten gezeigt voran. Die Jobs werden weiterhin in der Shell ausgeführt und werden beim Verlassen der Shell oder des Terminals nicht beendet.


Output

Aus der obigen Ausgabe wurde die Ausgabe des Commands in nohup.out gespeichert, um dies zu überprüfen, führen Sie aus,


Output

Zusätzlich können Sie die Ausgabe in eine andere Datei umleiten, wie gezeigt

nohup ./hello.sh > output.txt

Noch einmal, um die Datei anzusehen, führen Sie aus


Output

Um in eine Datei umzuleiten und sowohl Standardfehler als auch Standardausgabe zu verwenden, verwenden Sie das > Dateiname 2>&1 Attribut wie gezeigt


nohup ./hello.sh > myoutput.txt 2>&1


Output

Starten eines Prozesses im Hintergrund mit Nohup

Um einen Prozess im Hintergrund zu starten, verwenden Sie das &-Symbol am Ende des Commands. In diesem Beispiel pingen wir google.com an und senden es in den Hintergrund.


Output

Um den Prozess beim Wiederaufnehmen der Shell zu überprüfen, verwenden Sie den pgrep Command wie gezeigt


Output

Wenn Sie den laufenden Prozess stoppen oder beenden möchten, verwenden Sie den kill Command gefolgt von der Prozess-ID wie gezeigt


Output

Zusammenfassung

  • Alle Prozesse, die mit dem Nohup Command ausgeführt werden, ignorieren das SIGHUP Signal auch beim Verlassen der Shell.
  • Sobald ein Job mit dem Nohup Command gestartet oder ausgeführt wird, steht stdin dem Benutzer nicht zur Verfügung.
  • Standardmäßig wird nohup.out als Standarddatei für stdout und stderr verwendet.

Kostenlosen Account erstellen

Registrieren Sie sich jetzt und erhalten Sie Zugang zu unseren Cloud Produkten.

Das könnte Sie auch interessieren: