यदि आप वास्तव में विशेष कारणों से मजबूर नहीं हैं तो मैं निम्नलिखित करने का सुझाव नहीं देता:
kill -SEGV 1 # should generate a core dumps and kernel panic
kill -ABRT 1 # should generate a core dumps and kernel panic
kill -9 1 # On old systems worked nowadays not
यह मोटा, क्रूर है और इसे पावर कॉर्ड को अनप्लग करने के करीब के बराबर माना जा सकता है ...
सही तरीका है shutdown -h nowके साथ sudoपहले जब जरूरत।
शायद मुझे विधिपूर्वक कहना चाहिए ; नीचे देखें या बेहतर tl; डॉ।
कुछ शब्द और , उर्फ कहानी, अध्याय I
शुरुआत में ही अंत था और यह अंत तक रहेगा।
पूरे लिनक्स से निर्भर करता है प्यार ध्यान की init [ 1 ] [ 2 ] । फिर भी और निश्चित मात्रा में कृतघ्नता के बिना नहीं, एक समय था जब अच्छा लॉर्ड रूट उपयोगकर्ता इस प्रेम को धोखा दे सकता है और अचानक killएक असंगत ( -9) आदेश के साथ इनिट कर सकता है ।
( शिष्टाचार की पुस्तक, काउंट्स, ड्यूक्स के लिए निर्धारित करती है और उपयोगकर्ताओं को पहले आमंत्रित करने के लिए marquisessudo )।
फिर कुछ जादूगरों ने इनिट (बुक ऑफ से man 2 init) की रक्षा के लिए एक आकर्षण बनाया
केवल संकेत जो कि प्रक्रिया 1, init प्रक्रिया को भेजे जा सकते हैं, वे हैं जिनके लिए init ने संकेत संचालकों को स्पष्ट रूप से स्थापित किया है। यह आश्वासन देने के लिए किया जाता है कि सिस्टम को गलती से नीचे नहीं लाया गया है।
(हमारी जासूसी रिपोर्ट [ U1 ] कि init 1 HUP 6 ABRT 11 SEGV 15 TERM 30 PWR 2 INT 10 USR1 14 ALRM 17 CHLD 32 संभाल लेगी)
तो अच्छा प्रभु रूट उपयोगकर्ता समाचार सीखते हैं और कमांड को बदलते हैं kill -ABRT 1या kill -SEGV 1जो आमतौर पर उत्पन्न करते हैं। कर्नेल घबराहट और एक कोर डंप।
यह काम करता है क्योंकि init पीआईडी नंबर 1 [ 2b ] को चलाने और लेने की पहली प्रक्रिया है ।
यह असुरक्षित है, नासमझ है और आपको लगता है कि यह बुरे शगुन का अभिशाप है और अभिशाप है, लेकिन अगर आप भौतिक रूप से हाथ नहीं डाल सकते हैं और इसे अनप्लग कर सकते हैं ...
शाप : यह लॉग पर नहीं लिखेगा, यह सभी प्रक्रियाओं को नहीं मारेगा और उनके समाप्त होने की प्रतीक्षा करेगा, यह एचडीडी पर ठीक से इनोड को अपडेट नहीं करेगा और न ही यह फाइल सिस्टम को अनमाउंट करेगा; यह भी मन में नहीं है कि यह ग्राफिकल विंडो और शेल हिस्टरी के विकल्पों को बचाएगा, और हमारी कल्पना से परे कई अन्य ... जैसा कि हमने कहा कि पावर कॉर्ड को अनप्लग करने के करीब बराबर, या लैपटॉप अगर बैटरी।
सही तरीका
"नॉन नोबिस, डोमिन, नॉन नोबिस, सेड नॉमिनी तुओ दा ग्लोरियम।", टेम्पलर नाइट्स मोटो। वैध (सही) जिस तरह से उपयोग करने के लिए है [ 3 ]
shutdown
sudo shutdown -h now
शटडाउन प्रणाली को सुरक्षित तरीके से नीचे लाने की व्यवस्था करता है। सभी लॉग-इन उपयोगकर्ताओं को सूचित किया जाता है कि सिस्टम नीचे जा रहा है और ...
लेकिन -h nowउनके पास इतना करने के लिए पर्याप्त समय नहीं होगा ...
कुछ शब्द और , उर्फ कहानी, अध्याय II
एक बार जब कुछ तर्क कदम आसमान से यूनिक्स के लोगों को महसूस हुए:
एक बार जब सिस्टम प्रक्रियाएं मार दी जाती हैं और फाइल सिस्टम अनमाउंट हो गए हैं, तो सिस्टम स्वचालित रूप से बंद या रिबूट हो जाता है। यह हॉल्ट या रिबूट कमांड का उपयोग करके किया जाता है, जो डिस्क में परिवर्तन को सिंक करता है और फिर वास्तविक हॉल्ट / पावर ऑफ या रिबूट का प्रदर्शन करता है। [ ४ ]
दरअसल, आजकल, हम किसी भी अधिक तीन Moirai के अस्तित्व में विश्वास नहीं करते हैं [ 5 ] का लिनक्स दुनिया , reboot, poweroffऔर halt[ 6 ] : आधुनिक विज्ञान की ls -l $(which poweroff halt reboot)और से एक man reboot, इस अंधेरे उम्र पर फैलता नया प्रकाश और हमें पता चलता है यह केवल एक ही सही आदेश मौजूद है जो उनके सभी विकल्पों को पार्स करता है ताकि हम अंततः अपने कमांड नामों के विपरीत कार्यों के लिए पूछने के लिए स्वतंत्र हों! ( halt -pया reboot -pके लिए poweroff, shutdown -rके लिए reboot...)
अब जब कि सब स्पष्ट और सभी के लिए आरामदायक लग रहा था, अफवाहें का दावा [ 7 ] कि में अंडरवर्ल्ड की systemd टूलसेट [ 8 ] एक क्रांति अनजान पूरे छोड़ने प्रदर्शन किया गया था overworld । की एक सेना के लिए धन्यवाद पश्च संगतता की परतें हम सब पर ध्यान नहीं दिया कि रिबूट, poweroff, पड़ाव [ 6 ] और यहां तक कि telinit [ 9 ] और शट डाउन [ 3 ] सब पहले से ही नए राजा systemctl घिरा रहे हैं [ 10 ]। कृपया जेडीबीपी द बार्ड [ 9 ] की मूल आवाज से पूरी कहानी सुनें क्योंकि मेरे पास और कोई सांस नहीं है।
यदि आप उबंटू पंथ के अनुयायी हैं, तो आप अभी भी उन सभी दावों [ 11 ] के कुछ समय के लिए जागरूक रह सकते हैं ।
मध्य पृथ्वी halt -f, के init, telinitsystemctlसही एक से तेजी से समाधान के लिए खोज ,
लेकिन इसी तरह बुद्धिमान।
systemctl --force --force poweroff # the most close to kill -9 1
systemctl --force poweroff # rough but still safe
sudo halt -f # rough
sudo telinit 0 # or 6 # safe
kill -SIGINT 1 # cause reboot as the reboot command
kill -SIGRTMIN+4 1 # cause shutdown as the halt command
कि आप सिस्टमड के अधीन हैं या नहीं, आपको सभी सही शडाउन प्रक्रियाओं को लागू किए बिना कंप्यूटर को बंद करने में सक्षम होना चाहिए या नहीं (और इसलिए बहुत तेजी से):
halt -f: विकल्प को निर्दिष्ट करना-f (ध्यान दें कि आपको -fउपरोक्त प्रक्रिया के साथ शटडाउन प्रक्रिया से बचने की आवश्यकता है) sudo poweroff -fया इसके साथ भी sudo reboot -f -h। दरअसल हम शटडाउन से बचने के लिए man rebootविकल्प -fको निर्दिष्ट करने की आवश्यकता के बारे में (और समतुल्य) से पढ़ सकते हैं :
जब --force के साथ या रनलेवल 0 या 6 में कॉल किया जाता है , तो यह टूल रिबूट (2) सिस्टम को स्वयं कॉल करता है (REBOOTCOMMAND के तर्क के साथ) और सीधे सिस्टम को रिबूट करता है ।
अन्यथा यह केवल REBOOTCOMMAND तर्क को पारित किए बिना उपयुक्त तर्कों के साथ शटडाउन (8) टूल को आमंत्रित करता है।
-f, --force
शटडाउन (8) को लागू नहीं करता है और इसके बजाय वास्तविक कार्रवाई करता है जिसे आप नाम से उम्मीद करेंगे ।
इसके अलावा आप telinit [ 2b ] (या initसीधे) का उपयोग कर सकते हैं
sudo telinit 0 # or 6
रनवेवल बदलने के लिए init बताने के लिए ... लेकिन अगर ऐसा है तो सीधे इसे क्यों नहीं मारेंगे?
सिस्टमड के तहत आप नासमझ डबल विकल्प का उपयोग कर सकते हैं --force --force
systemctl --force --force poweroff
व्यवस्थित मैनुअल से पढ़ना [ 10 ]
-f, --force
जब सक्षम के साथ प्रयोग किया जाता है, तो किसी भी मौजूदा परस्पर विरोधी समन को ओवरराइट करें।
जब , या kexec के साथ उपयोग किया जाता है halt, तोpoweroffreboot सभी इकाइयों को बंद किए बिना चयनित ऑपरेशन को निष्पादित करें। हालाँकि, सभी प्रक्रियाओं को जबरन मार दिया जाएगा और सभी फ़ाइल सिस्टम केवल पढ़ने या हटाने योग्य नहीं हैं। यह इसलिए तत्काल रिबूट का अनुरोध करने के लिए एक कठोर लेकिन अपेक्षाकृत सुरक्षित विकल्प है। अगर - ऑपरेशन के लिए दो बार निर्दिष्ट किया जाता है, तो उन्हें किसी भी प्रक्रिया को समाप्त किए बिना या किसी भी फाइल सिस्टम को अनमाउंट किए बिना तुरंत निष्पादित किया जाएगा। चेतावनी: निर्दिष्ट करना - इनमें से किसी भी ऑपरेशन के साथ दो बार लागू करने से डेटा हानि हो सकती है।
Ps> टेल JdeBP द बार्ड [ 7 ] से वेरिएंट के बारे में प्रेरणा लें ।