Soweit ich aus den Büchern und Bash Handbüchern verstanden habe, ist das. Wenn sich ein Benutzer von bash abmeldet, werden alle Hintergrundjobs, die vom Benutzer gestartet werden, automatisch beendet, wenn er nohup nicht verwendet oder verleugnet. Aber heute habe ich es getestet:Wie behandelt Bash die Jobs beim Abmelden?
- Angemeldet an meinem gnome-Desktop und den Zugriff auf gnome-terminal.
Es gibt zwei Registerkarten im Terminal und in einem habe ich einen neuen Benutzer namens Test und angemeldet als Test
su - test
ein Skript gestartet.
cat test.sh #!/bin/bash sleep 60 printf "hello world!!" exit 0 ./test.sh &
Danach habe ich aus Test angemeldet und schloss die Registerkarte
- Im nächsten Reiter I ps aux als root exected und festgestellt, dass Job noch läuft.
Wie ist das passiert?
Ich bemerkte, dass diese Frage noch keine Antwort akzeptiert hat und dass es eine ähnliche neue Frage auf [SU], die interessant zu lesen sein könnten: [http: // superuser.com/questions/662431/what-exactly-determines-if-a-backgrounded-job-is-killed-when-the-shell-is-exited](http://superuser.com/questions/662431/what -exactly-bestimmt-wenn-ein-Hintergrund-Job-ist-getötet-wenn-die-Shell-ist-exited) – Hennes