Kill為什麼在使用者註銷時執行
為什麼在使用者註銷時執行killall init
?
在執行 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
,您不會殺死init
PID 1(因為您沒有權限),而是您的 sessioninit
,在本例中為 PID 9526。由於這
init
是您的 GUI 會話的管理過程,因此終止它會終止您的會話,因此您會被註銷。