为什么以用户身份运行 `killall init` 会让我退出?

为什么以用户身份运行 `killall init` 会让我退出?

在多台运行 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,您不会杀死initPID 1(因为您没有权限),而是杀死您的会话init,在本例中为 PID 9526。

由于这init是您的 GUI 会话的管理进程,因此终止它会终止您的会话,因此您会注销。

相关内容