लिनक्स ग्रेसफुल शटडाउन


17

मैंने सुना है कि "शटडाउन-एच अब" एक शालीन शट डाउन कमांड नहीं है क्योंकि यह सभी प्रक्रियाओं के लिए "किल -9" के समान है, जैसा कि "किल -15" के विपरीत है।

क्या यह सच है, और यदि ऐसा है, तो यह सुनिश्चित करने के लिए कि अपने स्वयं के बाद सब कुछ साफ करने का समय है, बंद करने का एक और अधिक सुंदर तरीका क्या है?

Ps मुख्य रूप से CentOS, Ubuntu और Debian का उपयोग कर रहा है।


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

4
कृपया शटडाउन के लिए मैनुअल पेज पढ़ें ( man shutdown)। यह इसे पूरी तरह से समझाता है।
एंड्रयू शुलमैन 12

जवाबों:


15

shutdown -h nowकॉल करेंगे /etc/rc.d/rcया /etc/init.d/rcrcस्क्रिप्ट (0 नई रनलेवल के लिए मार स्क्रिप्ट कॉल करेंगे -h, के लिए 6 -r), किसी भी शुरू स्क्रिप्ट के द्वारा पीछा किया।

आप अपने डिस्ट्रो के आधार पर ऐसा कुछ देखेंगे S30killprocsया करेंगे S00killall। इसके बाद सभी किल स्क्रिप्ट्स को बारी-बारी से प्रत्येक सेवा को रोकने के प्रयास के लिए बुलाया गया है। यह kill -15पहले प्रयास करेगा , उसके बाद kill -9

संक्षिप्त उत्तर: shutdown -h nowया shutdown -r nowसुंदर हैं। haltऔर rebootगैर-अनुग्रहकारी हुआ करते थे, लेकिन वे आपके लिए तभी कॉल करेंगे shutdownजब तक आप -fविकल्प का उपयोग नहीं करते ।


12

नहीं, यह सच नहीं है। shutdowninit स्तर में परिवर्तन जो तब सभी शटडाउन स्क्रिप्ट चलाता है। ये स्क्रिप्ट्स क्या करती हैं ये स्क्रिप्ट पर निर्भर करता है। लेकिन वे आम तौर पर प्रक्रियाओं को समाप्त नहीं करते हैं लेकिन उन्हें समाप्त करने के लिए संकेत भेजते हैं।

तो यह निम्नलिखित के लिए मैनुअल अंश है shutdown:

   shutdown  brings  the system down in a secure way.  All logged-in users
   are notified that the system is going down, and  login(1)  is  blocked.
   It is possible to shut the system down immediately or after a specified
   delay.  All processes are first notified that the system is going  down
   by the signal SIGTERM.  This gives programs like vi(1) the time to save
   the file being edited, mail and news processing programs  a  chance  to
   exit  cleanly,  etc.   shutdown  does  its  job  by signalling the init
   process, asking it to change the runlevel.  Runlevel 0 is used to  halt
   the  system, runlevel 6 is used to reboot the system, and runlevel 1 is
   used to put to system into a state where administrative  tasks  can  be
   performed; this is the default if neither the -h or -r flag is given to
   shutdown.  To see which actions are taken on halt  or  reboot  see  the
   appropriate entries for these runlevels in the file /etc/inittab.

1
ठीक है, अगर मैं सभी डिस्ट्रोस का उपयोग नहीं करता हूं, तो अंतिम रूप से रनलेवल 6 (रिबूट) आरसी स्क्रिप्ट करता है, जो किसी भी लिंग या त्रिशंकु प्रक्रियाओं को पकड़ने के लिए एक वैश्विक हत्यारे को चलाता है। लेकिन यह सभी सामान्य स्टॉप स्क्रिप्ट्स के पूरा होने के बाद चलाया जाता है।
12

2
@ सप्तपुर ज़रूर। लेकिन प्रक्रियाओं को इनायत करने का मौका था। यदि वे नहीं थे, तो उन्हें मारने के लिए कोई अन्य संभावना नहीं है।
मेल्क
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.