O ile rozumiem z książek i instrukcji bash jest to. Gdy użytkownik wyloguje się z bash, wszystkie zadania w tle uruchomione przez użytkownika zostaną automatycznie zakończone, jeśli nie używa nohup lub wyłączy się. Ale dzisiaj przetestowałem to:W jaki sposób bash obsługuje zadania podczas wylogowywania?
- Zalogowałem się na moim pulpicie gnome i dostęp do terminalu gnome.
Istnieją dwie karty w terminalu iw jednym stworzyłem nowy test o nazwie użytkownika i zalogować się jako test
su - test
rozpoczął skrypt.
cat test.sh #!/bin/bash sleep 60 printf "hello world!!" exit 0 ./test.sh &
Potem wylogowanie z testu i zamknął Tab
- W następnej zakładce ja exected ps aux jako root i okazało się, że praca jest jeszcze uruchomiony.
Jak to się dzieje?
Zauważyłem, że to pytanie nie ma jeszcze zaakceptowanej odpowiedź i że istnieje podobna nowe pytanie na [SU], które mogą być interesujące czytanie: [http: // superuser.com/questions/662431/what-exactly-determines-if-a-backgrounded-job-is-killed-when-hehell-is-exited](http://superuser.com/questions/662431/what -exactly-określa-jeśli-a-tło-job-jest-zabity-kiedy-powłoki-jest-zakończony) – Hennes