Kill

為什麼在使用者註銷時執行killall init

  • January 28, 2015

在執行 Ubuntu 14.XX 的多台電腦上,我以使用者身份執行命令“killall init”,然後立即註銷。我可以毫無問題地重新登錄。為什麼是這樣?幕後發生了什麼?

在較新的 Upstart 系統上,當您使用 GUI 登錄時會啟動會話初始化程序。由於 Ubuntu 使用 Upstart,因此init您的會話有一個過程。pstree -ps $$在終端中使用它進行測試:

$ pstree -ps $$
init(1)───lightdm(1741)───lightdm(9511)───init(9526)───/usr/bin/termin(9570)─┬─gnome-pty-helpe(9734)                                                                                                                                                                                  
                                                                            └──zsh(7944)

因此,當您執行時killall init,您不會殺死initPID 1(因為您沒有權限),而是您的 session init,在本例中為 PID 9526。

由於這init是您的 GUI 會話的管理過程,因此終止它會終止您的會話,因此您會被註銷。

引用自:https://unix.stackexchange.com/questions/181480