Respostas:
Nos sistemas Upstart mais novos, um processo de inicialização da sessão é iniciado quando você faz login usando a GUI. Como o Ubuntu usa o Upstart, há um initprocesso para sua sessão. Teste usando pstree -ps $$um terminal:
$ pstree -ps $$
init(1)───lightdm(1741)───lightdm(9511)───init(9526)───/usr/bin/termin(9570)─┬─gnome-pty-helpe(9734)
└──zsh(7944)
Portanto, quando você executa killall init, não está matando o initPID 1 (porque você não tem o privilégio), mas a sua sessão init, que seria o PID 9526 neste exemplo.
Como esse inité o processo de governança da sua sessão da GUI, matá-lo mata a sua sessão e, portanto, você é desconectado.
pkillem vez de killallporque killallobras completamente diferentes em outros sistemas, como Solaris ...
killallmata tudo. Daí o nome.
killall initcomo rootnão parece uma boa idéia - especialmente em um sistema útil - acho que initcausa pânico no kernel se ele morrer, porque não se destina a atingir um returnno final de seu mainloop de código.