Respuestas:
En los sistemas Upstart más nuevos, se inicia un proceso de inicio de sesión cuando inicia sesión con la GUI. Como Ubuntu usa Upstart, hay un initproceso para su sesión. Pruébelo usando pstree -ps $$en una terminal:
$ pstree -ps $$
init(1)───lightdm(1741)───lightdm(9511)───init(9526)───/usr/bin/termin(9570)─┬─gnome-pty-helpe(9734)
└──zsh(7944)
Entonces, cuando ejecuta killall init, no está eliminando el initPID 1 (porque no tiene el privilegio), sino su sesión init, que sería PID 9526 en este ejemplo.
Dado que este inites el proceso de gobierno para su sesión de GUI, matarlo mata su sesión y, por lo tanto, se desconecta.
pkilllugar de killallporque killallfunciona completamente diferente en otros sistemas como Solaris ...
killallmata a todos. De ahí el nombre.
killall initcomo rootno parece una buena idea, especialmente en un sistema útil , creo que initcausa un pánico en el núcleo si muere porque no está destinado a llegar a un returnfinal de su mainciclo de código.