Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
nohup ist ein Befehl, um ein Programm auszuführen, wobei dieses dann das HUP-Signal unterdrückt. Dadurch ist es möglich, ein Programm zu starten und weiter laufen zu lassen, auch wenn sich der Benutzer ausgeloggt hat.
Üblicherweise nutzt man nohup, um Dienste im Hintergrund zu starten und diese so von der Loginshell zu trennen. Ausgaben des aufgerufenen Programmes werden automatisch in die Datei nohup.out geleitet, die im Verzeichnis angelegt wird, von dem aus der Befehl ausgeführt wurde.
Das Programm ist im Paket
coreutils
von Ubuntu enthalten und ist deshalb auf jedem System bereits vorinstalliert.
Um den Nutzen noch einmal klarzustellen folgt hier ein Beispiel. Startet man gedit aus einem Terminalfenster mittels dem Befehl
gedit &
so startet gedit und man kann in der Konsole weiterarbeiten. Beendet man allerdings das Terminalfenster, so wird auch gedit kommentarlos geschlossen, weil man die Instanz beendet, die gedit gestartet hat. Startet man nun allerdings gedit mit
nohup gedit &
und beendet wieder das Terminal, so bleibt gedit offen.
Dies war ein einfaches Beispiel, aber es macht den eigentlichen Nutzen klar, wenn man z.B. per SSH auf einem fremden Rechner arbeitet und dort einen langwierigen Prozess starten möchte, die ssh-Verbindung aber während des Prozesses nicht permanent aktiv sein soll.