Ich denke jeder kennt nohup und was man damit macht. Deshalb hier nur ganz kurz – Führt man z.B. etwas auf einer entfernten Maschine einen Befehl aus und loggt sich aus, wird das HUP Signal an den Prozess gesendet und in Folge dessen terminiert. Stellt man nun nohup vor den Befehl, wird das HUP Signal ignoiert.
Dieser Artikel soll eher für mich eine kleine Gedankenstütze sein, da ich kürzlich, remote, einen Befehl mit vorangestelltem nohup ausführen wollte, der es allerdings nicht tat. Und zwar führte ich ihn wie folgt aus:
ssh server-abc "nohup bash -c 'apt update && apt install foobar' &"
STDOUT und STDERR werden eigentlich standartmäßig nach nohup.out umgeleitet, laut manual. Laut Stackoverflow muss man aber alle I/O Stream bei remote nohup Kommandos umleiten. Folgendes funktionierte dann auch:
ssh server-abc "nohup bash -c 'apt update && apt install foobar' &>/dev/null &"