Kullanıcı killall init'i çalıştırırken neden beni kapatıyor?


12

Ubuntu 14.XX çalıştıran birden fazla bilgisayarda, kullanıcı olarak "killall init" komutunu çalıştırdım ve hemen oturumu kapattım. Bir sorun olmadan tekrar giriş yapabilirim. Bu neden? Perde arkasında neler oluyor?

Yanıtlar:


21

Daha yeni Upstart sistemlerinde, GUI kullanarak oturum açtığınızda bir oturum başlatma işlemi başlatılır. Ubuntu Upstart'ı kullandığından, initoturumunuz için bir süreç vardır . pstree -ps $$Bir terminalde kullanarak test edin :

$ pstree -ps $$
init(1)───lightdm(1741)───lightdm(9511)───init(9526)───/usr/bin/termin(9570)─┬─gnome-pty-helpe(9734)                                                                                                                                                                                  
                                                                             └──zsh(7944)

Bu nedenle, çalıştırdığınızda PID 1'i (ayrıcalığınız killall initolmadığından) öldürmezsiniz init, ancak initbu örnekte PID 9526 olan oturumunuz .

Bu init, GUI oturumunuzun yönetim süreci olduğundan, onu öldürmek oturumunuzu öldürür ve bu nedenle oturumunuz kapatılır.


Killall sinyali her zaman proses ağacındaki en yakın akrabaya gönderir mi? Komutu root olarak çalıştırırsam (örneğin sudo ile), aynı sonucu mu elde edeceğim, yoksa bir çekirdek paniği mi?
Tim Seguine

1
@TimSeguine Adından da anlaşılacağı gibi, bu ada sahip tüm işlemlere gönderilir. BTW, bazı insanlar tercih pkillyerine killallçünkü killallSolaris gibi diğer sistemlerde tamamen farklı işler ...
glglgl

killallhepsini öldürür. Dolayısıyla adı.
orion

1
@TimSeguine Herkese gönderir, ancak sıradan bir kullanıcıysanız, diğer kullanıcıların süreçlerine sinyal gönderemezsiniz. Yani bu sadece kendi işlem ağacınızdakini etkiler.
Barmar

Koşu killall initolarak rootiyi bir fikir gibi görünmüyor - özellikle üzerinde yararlı bir sistemin - Bence initbunun amacı taşımaz çünkü hiç bir ulaşması ölürse bir çekirdek paniğe neden return's sonunda mainkod döngü.
SlySven
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.