क्या सिस्टम को बंद करने का सबसे तेज़ तरीका है?


20

या यह shutdown -h nowसबसे तेज़ हो सकता है?

मैं कुछ syscall या इसी तरह की तलाश करता हूं, जो शटडाउन से पहले किए गए बहुत सारे सामान को छोड़ने की अनुमति देगा (विशेष रूप से चल रही सफलताओं के बारे में देखभाल करने के लिए)।

सबसे अच्छा मैं एक कर्नेल से संबंधित समाधान initचाहूंगा , -मेडवेयर (जैसे systemdया upstart) से अनभिज्ञ ।

कप / अपाचे / पल्सेडियो आदि जैसी सभी सेवाओं को मारने से संबंधित जोखिम ... मुझे परवाह नहीं है ...।

टिप्पणी: समाधान सॉफ्टवेयर-उपाध्यक्ष होना चाहिए। डिवाइस पर बटन दबाने से वह नहीं है जो मैं देख रहा हूं।


8
"कप से संबंधित सभी सेवाओं जैसे कप / अपाचे / पल्सेडियो आदि को मारने से संबंधित जोखिम ... मुझे परवाह नहीं होगी ...." -> क्या आप निश्चित हैं? असंगत स्थिति में जटिल सॉफ़्टवेयर छोड़ने से अगली बार इसे उपयोग करने पर बुरा आश्चर्य हो सकता है। शायद आपको उन सेवाओं को अक्षम करने पर विचार करना चाहिए जिनका आप उपयोग नहीं करते हैं (जैसे कप, अपाचे); आप हमेशा उन चीजों को मैन्युअल रूप से शुरू और बंद कर सकते हैं जब आप उनका उपयोग करना चाहते हैं।
गोल्डीलॉक्स

जिस विधि को मैं चाहता हूं वह उस क्षण के लिए है जिसमें मैं अपने पीसी तक पहुंचने वाले लोगों से बचना चाहता हूं। शट डाउन में कोई देरी शरारत की अनुमति देती है। मैं इसके बजाय डेटा को ढीला कर देता हूं।
मानवतावादी

2
इसके अलावा जाएँ इस
पंड्या

8
एक विचार है। हालांकि कुछ नए हार्डवेयर के लिए पैसे बचाना शुरू करें।
जॉन डब्ल्यूएच स्मिथ

sudo shutdown -P 0 मैं इसका उपयोग करता हूं और यह शटडाउन प्रक्रिया को तुरंत शुरू करता है, चाहे कोई भी ऐप खुला हो
gkmohit

जवाबों:


30

यह सिस्टम अनुरोध (SysRq) कार्यक्षमता का उपयोग करने और फिर तत्काल ट्रिगर करने की तुलना में बहुत तेज़ नहीं है reboot

यह कर्नेल द्वारा समझा गया एक प्रमुख संयोजन है।

SysRq सक्षम करें:

echo 1 > /proc/sys/kernel/sysrq

अब, इसे रिबूट में भेजें।

echo b > /proc/sysrq-trigger

b - फाइल सिस्टम को अनमाउंट या सिंक किए बिना, सिस्टम को तुरंत रिबूट करें।

ध्यान दें:

हालांकि यह एक rebootऐसा व्यवहार है जैसे बिजली काट दी गई है, जिसकी सिफारिश नहीं की गई है।

यदि आप syncऔर umountफाइल सिस्टम हाथ से पहले चाहते हैं तो उपयोग करें:

echo s > /proc/sysrq-trigger
echo u > /proc/sysrq-trigger

या यदि आप सिस्टम को बंद करना चाहते हैं तो:

echo o > /proc/sysrq-trigger

जादू कुंजी संयोजन

कर्नेल द्वारा व्याख्या की गई उपयोग के लिए महत्वपूर्ण संयोजन भी हैं:

Alt+ SysRq / Print Screen+Command Key

कमांड कुंजी:

R- X से वापस कीबोर्ड का नियंत्रण लें।
E- सभी प्रक्रियाओं को SIGTERM भेजें, जिससे वे इनायत से समाप्त कर सकें।
I- सभी प्रक्रियाओं को तुरंत भेजें, उन्हें तुरंत समाप्त करने के लिए मजबूर करें।
S- डिस्क में डेटा फ्लश।
U- केवल पढ़ने के लिए सभी फाइल सिस्टम को रिमूव करें।
B- रिबूट।

जादू SysRq कुंजी विकी से उद्धृत :

मैजिक SysRq कुंजी का एक सामान्य उपयोग लिनक्स कंप्यूटर का एक सुरक्षित रिबूट प्रदर्शन करना है जो अन्यथा लॉक हो गया है।

  1. दबाए रखें Altऔर SysRq(प्रिंट स्क्रीन) कुंजी।
  2. उन नीचे पकड़े हुए, क्रम में निम्नलिखित कुंजियों को टाइप करें, कई सेकंड अलग: REISUB
  3. कंप्यूटर को रिबूट करना चाहिए।

इन्हें याद रखने का एक तरीका है:

" आर eboot ven मैंएस ystem यू tterly बी roken" या केवल शब्द " व्यस्त " पीछे की ओर पढ़ा।

संदर्भ

मैजिक SysRq कुंजी विकी
फेडोरा SysRq


11
यह ध्यान रखना महत्वपूर्ण है कि एक साफ प्रणाली को बंद होने में 2 सेकंड से भी कम समय लग सकता है। जब मैं poweroffअपने आर्क मशीन पर कॉल करता हूं, तो मैं स्क्रीन पर शटडाउन लॉग को प्रिंट होते हुए भी नहीं देख सकता ...
जॉन डब्ल्यूएच स्मिथ

दूसरी प्रतिध्वनि से पहले, आप sync( linux.about.com/library/cmd/blcmdl8_sync.htm ) को चलाना चाहेंगे, जो यह सुनिश्चित करेगा कि डिस्क पर सुपरब्लॉक सहित बफ़र लिखे गए हैं।
Arcege

आप सुझाव देते हैं कि bईचोड नहीं है o। क्या बी बेहतर है?
मानवतावाद

यह निर्भर करता है कि आप बेहतर से क्या मतलब है। जबकि bविकल्प बहुत तेज है, यह syncडिस्क नहीं करता है , जो आदर्श नहीं है, कई विकल्प हैं जो शटडाउन के समय में कटौती करने के तरीके प्रदान करते हैं, दूसरों की तुलना में कुछ अधिक चरम। एक panicविकल्प भी है । विकी और परीक्षण और त्रुटि को देखने के लिए पढ़ें कि आपकी आवश्यकताओं को सबसे अच्छा क्या मिलता है।
गिद्धौरिया

मेरे खराब सिस्टम पर अच्छी तरह से echo o /proc/sysrq-triggerएक लटका पैदा करता है। व्यवस्था बनी रहती है। वास्तव में bसिस्टम चला गया है। फिर भी यह रिबूट करता है इसका मतलब है कि रैम को रखा जा सकता है, जो एक भेद्यता है जिसे मैं bअंत में बंद होने के साथ विकल्प चाहूंगा । अफसोस की बात है कि यह oमेरे sys में विकल्प के साथ काम नहीं करता है । सुझाव के लिए धन्यवाद और आपको @Pandya
humanityandpeace

8

बुरा दृष्टिकोण है shutdown -h -n now

ध्यान दें कि यह कोई सफाई नहीं करेगा, इसलिए फ़ाइल सिस्टम असंगत हो सकता है, डेटाबेस टूट सकता है आदि, लेकिन यह सिस्टम को तेजी से बंद कर देता है।


1
धन्यवाद, यह इंटरसेस्टिंग लगता है: क्या यह -nविकल्प अभी भी बंद के मौजूदा संस्करण में प्रलेखित है और है?
मानवतावाद

1
हाँ, यह मानक है। यह सीधे कर्नेल को सब कुछ छोड़ने के लिए कहता है। यह कमांड सामान्य रूप से अंतिम शटडाउन स्क्रिप्ट से उपयोग किया जाता है, जब नियमित शटडाउन पूरा हो गया है।
साइमन रिक्टर

7
लेकिन मैं इस बात पर जोर नहीं दे सकता कि इससे सबसे ज्यादा बुरा प्रभाव पड़ेगा, क्योंकि यह प्लग खींचने के बराबर है।
सिमोन रिक्टर

अद्भुत सरल और प्रभावी है। यह -एक विकल्प वही है जिसकी मुझे तलाश थी। सवाल के जवाब के लिए SO SOU को धन्यवाद। आप यह नहीं जानते कि सवाल पूछना कितना निराशाजनक है और हार सुनकर सभी आपको बता देते हैं कि आपका सवाल सिर्फ जवाब देने के बजाय गलत क्यों है। अगर मैं कर सकता हूं तो मैं इस उत्तर को पचास बार बढ़ाऊंगा। धन्यवाद।
जोशुआ पेच

4

कुछ डिस्ट्रोस एक poweroffकमांड की पेशकश करते हैं जो की तुलना में सरल है shutdown

इसके साथ प्रयोग करना:

poweroff -f

डिस्क सिंक करेगा और फिर पावर डाउन करेगा। यह बहुत तेजी से होने के बीच एक अच्छा समझौता है, जबकि अभी भी यह सुनिश्चित करने के लिए न्यूनतम शटडाउन का प्रदर्शन करना कि फाइल सिस्टम दूषित नहीं हैं।


0

Init कमांड का उपयोग करने का प्रयास करें:

init 0
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.