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 init
proceso 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 init
PID 1 (porque no tiene el privilegio), sino su sesión init
, que sería PID 9526 en este ejemplo.
Dado que este init
es el proceso de gobierno para su sesión de GUI, matarlo mata su sesión y, por lo tanto, se desconecta.
pkill
lugar de killall
porque killall
funciona completamente diferente en otros sistemas como Solaris ...
killall
mata a todos. De ahí el nombre.
killall init
como root
no parece una buena idea, especialmente en un sistema útil , creo que init
causa un pánico en el núcleo si muere porque no está destinado a llegar a un return
final de su main
ciclo de código.