在多台运行 Ubuntu 14.XX 的计算机上,我以用户身份运行命令“killall init”,并立即注销。我可以毫无问题地重新登录。为什么是这样?幕后发生了什么?
答案1
在较新的 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(因为您没有权限),而是杀死您的会话init
,在本例中为 PID 9526。
由于这init
是您的 GUI 会话的管理进程,因此终止它会终止您的会话,因此您会注销。