Diese Frage ist alt und ich weiß immer noch nicht warum.
Ursprüngliche Frage im Jahr 2014:
In einem Gnome-Terminal-Tab lief ich
$ nohup chromium-browser &
Aber wenn ich die Terminal-Registerkarte schließe, wird sie chromium-browser
auch beendet. Soll das nicht nohup
verhindern? Gilles sagte:
Von Nohup und Disown kann gesagt werden, dass sie SIGHUP auf unterschiedliche Weise unterdrücken. nohup veranlasst das Programm, das Signal zunächst zu ignorieren (das Programm kann dies ändern). nohup versucht auch, dafür zu sorgen, dass das Programm kein steuerndes Terminal hat, damit es nicht vom Kernel SIGHUP gesendet wird, wenn das Terminal geschlossen wird. Verleugnung ist rein innerlich in der Hülle; es bewirkt, dass die Shell SIGHUP nicht sendet, wenn sie beendet wird.
Lässt Nohup Chrom-Browser SIGHUP nicht ignorieren?
Ich sehe dies auch auf anderen ausführbaren Dateien wie und Emacs (GUI-Modus). Aber nicht auf xeyes.
Dies geschieht unter Ubuntu 12.04, 32-Bit, als die Frage veröffentlicht wurde.
Update im Jahr 2015,
Jetzt starte ich Ubuntu 14.04 mit google-chrome
statt chromium-browser
installiertem. Dasselbe, was zuvor mit Chrom-Browser passiert ist, gilt jetzt auch für Google-Chrome. nohup google-chrome 2>/dev/null &
speichert es nicht vor dem Schließen, wenn die Terminalregisterkarte geschlossen wird. /usr/bin/google-chrome
ist ein Link zu einem Bash-Skript /opt/google/chrome/google-chrome
. Warum funktioniert die nohup
Anwendung auf das Bash-Skript nicht? Wie können wir dafür sorgen, dass es mit Bash-Skripten funktioniert? Was ist mit Python-Skripten?
xeyes
.