Linux-nohup-Befehl: So lassen Sie Prozesse auch nach Ihrer Abmeldung weiterlaufen

Mit dem Linux-Befehl nohup ignoriert Ihr System den Hangup-Command HUP. So kann ein Prozess auch weiterhin im Hintergrund ausgeführt werden. Dessen Output wird dann in die Datei nohup.out oder eine andere Datei Ihrer Wahl umgeleitet.

Was ist Linux-nohup?

Um zu verstehen, was der Linux-nohup-Befehl ist, lohnt sich ein Blick auf SIGHUP. Dies ist ein Signal, das u. a. unter Linux erzeugt wird, wenn es auf einer Datenleitung zwischen dem Betriebssystem und einer anderen Anwendung zu einem Verbindungsabbruch kommt. Unter Umständen ist es allerdings nötig, dass dieses Signal nicht gesendet wird. Das ist insbesondere der Fall, wenn eine Anwendung auch dann weiterlaufen soll, wenn sich der Nutzer oder die Nutzerin vom System abgemeldet hat. Um das Signal zu unterdrücken und Programme im Hintergrund weiterlaufen zu lassen, wird Linux-nohup genutzt.

Wie funktioniert der Linux-nohup-Befehl?

Das Programm Linux-nohup ist in allen gängigen Linux-Distributionen wie Debian und Ubuntu enthalten und muss daher nicht extra installiert werden. Sie können damit dem System die Anweisung geben, ein bestimmtes Programm im Hintergrund zu starten und so von der Login-Shell zu lösen. Eventuelle Ausgaben werden automatisch in den Ordner nohup.out umgeleitet. Gerade bei langwierigen Prozessen hat das den Vorteil, dass Sie sich abmelden können, ohne dass der Vorgang dadurch unterbrochen würde.

Wie sieht die Syntax von Linux-nohup aus?

Die grundsätzliche Syntax des Linux-nohup-Befehls sieht immer gleich aus. Dies ist der Aufbau:

$ nohup [Befehl] [Argument] [&]
bash

„[Befehl]“ und „[Argument]“ sind dabei Parameter, die angepasst und spezifiziert werden können. Um Prozesse auch nach der Abmeldung im Hintergrund weiterlaufen zu lassen, verwenden Sie „[&]“.

Welche Optionen hat der nohup-Befehl?

Linux-nohup akzeptiert keine Optionen außer den beiden Standards „-h“ oder „–help“ und „-v“ oder „–version“. Lediglich wenn Sie auf die Eingabe eines Parameters für „[Befehl]“ verzichten, ist die Option „-p“ oder „–parents“ erlaubt.

Beispiele für den Linux-nohup-Befehl

Damit Sie noch besser verstehen können, wie der Befehl funktioniert, zeigen wir Ihnen abschließend ein paar Beispiele für seine Verwendung.

$ nohup bash beispiel.sh
bash

Dies bewirkt, dass der Command im Vordergrund ausgeführt wird. Der Output des Kommandos wird dabei automatisch in die Datei nohup.out umgeleitet.

$ nohup bash beispiel.sh > output.txt
bash

So sorgen Sie dafür, dass der Output in das Dokument output.txt umgeleitet wird.

$ nohup bash beispiel.sh &
bash

Diese Eingabe bewirkt, dass der Befehl im Hintergrund weiterhin ausgeführt wird. Möchten Sie dies rückgängig machen und den Command wieder in den Vordergrund holen, ist der fg-Befehl die richtige Wahl.