[unix] 사용자로 ‘killall init’을 실행하면 왜 로그 아웃합니까?

Ubuntu 14.XX를 실행하는 여러 컴퓨터에서 “killall init”명령을 사용자로 실행하고 즉시 로그 아웃되었습니다. 문제없이 다시 로그인 할 수있었습니다. 왜 이런거야? 무대 뒤에서 무슨 일이 일어나고 있습니까?



답변

최신 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)

따라서를 실행 하면 권한이 없기 때문에 PID 1을 killall init죽이지 init않고 세션 ( init이 예제에서는 PID 9526)을 사용합니다.

이는 initGUI 세션의 관리 프로세스이므로 세션을 종료하면 세션이 종료되므로 로그 아웃됩니다.


답변