जवाबों:
नए उपस्टार्ट सिस्टम पर, जब आप GUI का उपयोग करके लॉगिन करते हैं तो सत्र प्रारंभ प्रक्रिया शुरू होती है। चूंकि उबंटू अपस्टार्ट का उपयोग करता है, इसलिए initआपके सत्र के लिए एक प्रक्रिया है। pstree -ps $$किसी टर्मिनल में इसका उपयोग करके परीक्षण करें :
$ pstree -ps $$
init(1)───lightdm(1741)───lightdm(9511)───init(9526)───/usr/bin/termin(9570)─┬─gnome-pty-helpe(9734)
└──zsh(7944)
इसलिए जब आप दौड़ते हैं killall init, तो आप initपीआईडी 1 को नहीं मार रहे हैं (क्योंकि आपके पास विशेषाधिकार नहीं है), लेकिन आपका सत्र init, जो इस उदाहरण में पीआईडी 9526 होगा।
चूंकि यह initआपके जीयूआई सत्र के लिए शासी प्रक्रिया है, इसलिए यह आपके सत्र को मारता है और इसलिए आपको लॉग आउट किया जाता है।
pkillइसके बजाय पसंद करते हैं killallक्योंकि killallसोलारिस जैसी अन्य प्रणालियों पर पूरी तरह से अलग काम करता है ...
killallसभी को मारता है। इसलिए यह नाम।
killall initके रूप में rootएक अच्छा विचार की तरह प्रतीत नहीं होता है - विशेष रूप से एक पर उपयोगी प्रणाली - मुझे लगता है कि initएक कर्नेल आतंक अगर यह मर जाता है, क्योंकि यह करने के लिए इरादा नहीं है कभी एक तक पहुंचने का कारण बनता है returnयह के अंत में mainकोड पाश।