डेबियन लिनक्स पर "रिबूट-एफ" से अलग "शटडाउन -आर अब" क्यों व्यवहार करता है?


11

मुझे हाल ही में एक pesky, आंतरायिक NFS क्लाइंट / सर्वर त्रिशंकु बिंदु मुद्दे से निपटना पड़ा है। जब समस्या क्लाइंट पर होती है तो मैं कुछ अन्य अजीब व्यवहार के साथ, अनमाउंट नहीं कर सकता। मेरे पास अब तक का एकमात्र तात्कालिक संकल्प क्लाइंट बॉक्स को रिबूट करना है।

लेकिन shutdown -r nowकाम बिल्कुल नहीं करता है। मैंने तब से खोजा है reboot -f, जो सिस्टम को रिबूट करता है। क्यों? मैंने मैन पेज पढ़े हैं लेकिन मेरे प्रश्न का उत्तर देने में कुछ भी नहीं लगता है।

shutdown -r nowसे अलग व्यवहार क्यों करता है reboot -f?

(मैं एनएफएस मुद्दे को हल करना जारी रख रहा हूं, लेकिन यह मेरा सवाल नहीं है।)

जवाबों:


20

शटडाउन मैन पेज से:

एक बार TIME बीत जाने के बाद, शट डाउन सिस्टम को उचित रनवे में लाने के लिए init (8) डेमॉन में एक अनुरोध भेजता है।

initसिस्टम के रनलेवल्स को बदलने से जॉब शुरू और रुक जाती है। रिबूट के कारण रनलेवल 6 में प्रवेश करते समय, सिस्टम /etc/rc6.d में सभी स्क्रिप्ट चलाता है। चूंकि आपका सिस्टम जवाब नहीं दे रहा है shutdown, इसलिए संभव है कि इसमें स्क्रिप्ट /etc/rc6.d(संभवतः K05nfs-commonआपके एनएफएस मुद्दे दिए गए) अटक गया हो, शटडाउन अनुक्रम को समाप्त करने की अनुमति नहीं दे रहा है। वास्तव में, रनवेल 6 में बदलते समय आखिरी चीज इनिट चलती है reboot -d -f -i

reboot -f सभी स्क्रिप्ट को छोड़ देता है और सिस्टम को सीधे रिबूट करता है।


मेरे उत्तर को मेरे संदर्भ से जोड़ने के लिए बहुत-बहुत धन्यवाद।
स्टु थॉम्पसन

12

shutdowninitशटडाउन प्रक्रिया शुरू करने का निर्देश देता है, जिसमें लॉग इन करने वाले उपयोगकर्ताओं को यह बताना होता है कि सिस्टम बंद हो रहा है, सभी प्रक्रियाओं को शालीनतापूर्वक, बिना सोचे-समझे और सिंक्रनाइज़ किए जा रहे ड्राइव को मारना है, और इसी तरह। आपको यहाँ लटका दिया जा रहा है क्योंकि IO की प्रतीक्षा में अटकी हुई प्रक्रियाएँ मारने के लिए बहुत कठिन हैं, और आपके अटके हुए NFS माउंट को अनमाउंट नहीं किया जा सकता है।

reboot -fदूसरी ओर, सर्वर को बिना किसी को बताए तुरंत रिबूट कर देता है। ( rebootप्रोग्राम initकॉल सर्वर बंद करने के लिए है। -fध्वज के बिना , यह देखने के लिए जांच करेगा initकि क्या यह वर्तमान में रिबूट हो रहा है, और यदि नहीं, तो यह shutdownप्रक्रिया शुरू करने के बजाय कॉल करेगा )।


मेरे उत्तर को मेरे संदर्भ से जोड़ने के लिए बहुत-बहुत धन्यवाद।
स्टु थॉम्पसन

4

क्योंकि 'रिबूट-ऑफ' रनलेवल 0 में नहीं जाता है - यह ओएस को सीधे सीपीयू को फिर से संगठित करने के लिए कहता है। मेरे निकटतम लिनक्स बॉक्स पर मैन पेज कहता है:

 -f     Force halt or reboot, don't call shutdown(8)

शटडाउन मैन पेज अधिक बताता है।


1

यदि आप intrअपने एनएफएस माउंट पर विकल्प का उपयोग करते हैं , तो shutdown -r nowएनएफएस आईओ पर इंतजार करने वाली प्रक्रियाओं को पूरा करने में सक्षम होना चाहिए। इसके परिणामस्वरूप फ़ाइल भ्रष्टाचार हो सकता है, लेकिन संभवतः सृजन से अधिक नहीं shutdown -f

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