जवाबों:
आम तौर पर, एक shutdownकमांड का उपयोग करता है । यह शटडाउन या रिबूट से पहले एक समय की देरी और चेतावनी संदेश की अनुमति देता है, जो कि मल्टीसियर शेल सर्वरों के सिस्टम प्रशासन के लिए महत्वपूर्ण है; यह उपयोगकर्ताओं को डाउनटाइम की अग्रिम सूचना प्रदान कर सकता है।
जैसे, शटडाउन कमांड का उपयोग इस तरह किया जाना है कि कंप्यूटर को तुरंत बंद कर दिया जाए (लिनक्स और फ्रीबीएसडी पर कम से कम):
shutdown -h now
या कस्टम, 30 मिनट की अग्रिम चेतावनी के साथ इसे रिबूट करने के लिए:
shutdown -r +30 "Planned software upgrades"
देरी के बाद, रनलेवल 0 (हाल्ट) या 6 (रिबूट) में बदलने के लिए shutdownकहता initहै। (ध्यान दें कि छोड़ने -hया -rसिस्टम को एकल-उपयोगकर्ता मोड (रनलेवल 1) में जाने का कारण होगा, जो अधिकांश सिस्टम प्रक्रियाओं को मारता है, लेकिन वास्तव में सिस्टम को बंद नहीं करता है; यह अभी भी व्यवस्थापक को रूट के रूप में लॉग इन रहने की अनुमति देता है।)
एक बार जब सिस्टम प्रक्रियाएं मार दी जाती हैं और फाइलसिस्टम अनमाउंट हो गए हैं, तो सिस्टम स्वचालित रूप से बंद या रिबूट हो जाता है। यह haltया rebootकमांड का उपयोग करके किया जाता है , जो डिस्क में परिवर्तन को सिंक करता है और फिर वास्तविक पड़ाव / बिजली बंद या रिबूट करता है।
लिनक्स पर, यदि सिस्टम पहले से ही शटडाउन प्रक्रिया शुरू नहीं कर पाया है haltया rebootचलाया जाता है , तो यह shutdownसीधे किसी अन्य कार्रवाई को करने के बजाय स्वचालित रूप से कमांड को लागू करेगा । हालांकि, FreeBSD जैसे सिस्टम पर , ये कमांड पहले कार्रवाई को लॉग इन करते हैं wtmpऔर फिर तुरंत पहले हत्या प्रक्रियाओं या बिना फाइल किए सिस्टमों को रोकें / स्वयं को रिबूट करेंगे ।
halt, rebootऔर shutdownप्रोग्राम हैं जो एक दूसरे के आह्वान। एक एकल प्रोग्राम है, जिसमें कई कमांड-लाइन पार्सर हैं जो आंतरिक रूप से एक कोड पथ में फ़नल करते हैं। न ही रन स्तर हैं। न ही शटडाउन किसी एकल उपयोगकर्ता मोड में जाता है। वास्तव में, एकल उपयोगकर्ता मोड का नाम बदल दिया गया है। विवरण के लिए, unix.stackexchange.com/a/196014/5132 देखें ।
1980 के दशक में, BSDs था halt, rebootहै, और shutdown। सिस्टम 5 UNIX में BSD संगतता टूलसेट था। लेकिन मूल रूप से इसकी अपनी, अलग, shutdownकमान थी; और haltया बिल्कुल नहीं था reboot। (कुछ सिस्टम 5 वेरिएंट में SCO XENIX जैसी चीजें थीं haltsys।)
बीएसडी haltऔर rebootकमांड निम्न-स्तरीय, कठोर और तत्काल थे। बीएसडी प्रणाली को बंद करने का विचारशील तरीका shutdownकमांड था , जिसने उन सभी चीजों को किया जो एक होने की उम्मीद करता है: wallउपयोगकर्ताओं को संदेश, सेवाओं को सावधानीपूर्वक मार दिया गया, लॉग प्रविष्टियों को लिखा गया, लॉगिन अक्षम और आगे।
जब तक बीएसडी बड़े पैमाने पर थे जहां से प्राप्त ज्ञान की उत्पत्ति हुई कि " shutdownनिष्पादित halt/ reboot", और यह कि बाद की देखभाल के साथ उपयोग किया जाना था; यह सिस्टम 5 की दुनिया थी, जहां लोगों ने इसके विपरीत आदत सीखी थी कि halt/ rebootबस आसान शॉर्टहैंड थे और इससे अधिक कुछ नहीं: /usr/ucb/halt"बीएसडी संगतता पैकेज" से, प्रभाव में कोई भिन्न नहीं था shutdown -h। उन्होंने दोनों करना समाप्त कर दिया init 0।
halt। 1982/05/11। 4.2BSD मैनुअल।haltsys। 2005-06-03। SCO OpenServer मैनुअल।आजकल, हमारे पास संभावित सिस्टम प्रबंधन टूलसेट की एक श्रृंखला है। बीएसडी के पास अभी भी अपने टूलसेट हैं, हालांकि 1990 के दशक में किसी भी संभावित एटी एंड टायम्स को शुद्ध किया गया था। 1992 में मिकेल वैन स्मुरेनबर्ग (पुनः) ने एक लिनक्स init+ rcऔर उनके संबंधित उपकरण लिखे , जिन्हें लोग अब "सिस्टम 5 इनिट" के रूप में संदर्भित करते हैं, भले ही यह वास्तव में यूनिक्स सिस्टम 5 से सॉफ्टवेयर नहीं है (और बस नहीं है) init)। वहाँ भी कर रहे हैं systemd , नवोदय , और nosh , जिनमें से प्रत्येक की है अपने स्वयं के कार्यान्वयन की halt, reboot, fasthalt, fastboot, और इसके आगे।
टूलसेट भी बड़े हो गए हैं और बदल गए हैं। अब एक poweroffकमांड है, जो 1980 के दशक के ऑपरेटिंग सिस्टम में मौजूद नहीं है क्योंकि अधिकांश समकालीन मशीनों पर सेंट्रल प्रोसेसिंग यूनिट्स के पास अपनी बिजली आपूर्ति को नियंत्रित करने का कोई तरीका नहीं था। विशेष रूप से लिनक्स टूलसेट ने बीएसडी कमांड को जकड़ लिया है; लेकिन यूनिक्स सिस्टम 5 पर बीएसडी संगतता उपकरण की तरह, वे सटीक कार्यबल नहीं हैं और चीजें काफी हद तक चपटी हो गई हैं।
यह सपाट बिंदु है जहां के लिए हमें लाया गया है haltऔर shutdownकर रहे हैं ज्यादातर एक ही। लेकिन सटीक विवरण टूलसेट से टूलसेट तक भिन्न होते हैं, और प्रत्येक टूलसेट के यांत्रिकी सभी थोड़ा अलग होते हैं।
यह भी थोड़ा शर्मनाक स्थिति में जहाँ इस आदेश सेट इसलिए संगतता विकल्प है कि यह अब लोगों को कंप्यूटर की तरह आत्म विरोधाभासी निर्देश देने के लिए अनुमति देता है के साथ festooned हो गई है करने के लिए हमें लाया गया है reboot --haltऔर poweroff --reboot, जैसा कि मैंने nosh के लिए मैनुअल पेज में बताया गया है halt, fasthalt, reboot, fastboot, और poweroffआज्ञा देता है। ☺
halt, reboot, poweroff, telinit, और shutdownकर रहे हैं सब एक कार्यक्रम । यह वास्तव में सिस्टमड का अपना systemctlकार्यक्रम है। यह उन कमांड के विभिन्न कमांड लाइन सिंटैक्स के लिए कई कमांड लाइन पार्सर है, साथ ही साथ अपने भी हैं, लेकिन इसके बाद बड़े पैमाने पर आंतरिक रूप से एक कोड पथ में फ़नल। haltकिसी क्रिया को ट्रिगर करने के लिए उपयोग करने और उसके कमांड विकल्पों के बीच कोई अंतर नहीं है और shutdownउसी कार्रवाई को ट्रिगर करने के लिए इसके कमांड विकल्पों का उपयोग किया जाता है।
systemd रेस्क्यू मोड (जो कि सिस्टम के लोगों ने सिंगल यूजर मोड का नाम बदला है ) को शट डाउन सिस्टम स्टेट के रूप में नहीं मानता है , और यह इनमें से किसी भी कमांड के साथ उपलब्ध नहीं है। विकल्प-कम shutdown nowसमान है poweroff।
बीएसडी काफी हद तक 1980 के दशक के शब्दार्थ को बनाए रखते हैं। haltऔर shutdownइस प्रकार उनके टूलसेट में बहुत अधिक नहीं हैं । haltऔर rebootएक ही कार्यक्रम है; और अभी भी निम्न स्तर, तत्काल और कठोर हैं। जबकि shutdownऔर poweroff, एक एकल कार्यक्रम भी, अनुसूचित बंद करने, wallसंदेश लिखने , क्रियाओं को लॉग इन करने, लॉगिन को अक्षम करने, और आगे की तरह सभी पर विचार करें ।
बीएसडी उपकरण सेट में, shutdown/ poweroffपारंपरिक रूप से लागू समाप्त हो गया halt/ rebootअंतिम सिस्टम स्थिति परिवर्तन अधिनियमित करने के लिए। (अक्सर आजकल गलत) ज्ञान प्राप्त हुआ कि " shutdownनिष्पादित halt/ rebootवास्तव में अभी भी NetBSD और OpenBSD पर है। लेकिन FreeBSD / TrueOS / DragonFlyBSD पर यह केवल मामला है अगर -oविकल्प का उपयोग किया जाता है। इन BSDs पर, दोनों इन कार्यक्रमों की सामान्य रूप से विभिन्न संकेतों (भेजकर अंतिम सिस्टम स्थिति परिवर्तन अधिनियमित INT, USR1और USR2) को संसाधित करने के लिए # 1। इन प्रणालियों पर सभी सिस्टम राज्य प्रबंधन initकरता है ।
उन सभी को पर, विकल्प कम shutdown nowमें से किसी के बराबर नहीं है halt, rebootया poweroff। यह बीएसडी एकल उपयोगकर्ता मोड में संक्रमण करता है , जिसमें से बहु-उपयोगकर्ता मोड में वापस संक्रमण कर सकता है ।
shutdown। सिस्टम मैनेजर का मैनुअल । नेटबीएसडी मैनुअल पेज। 2011-11-04।reboot,halt । OpenBSD मैनुअल पेज। 2016/09/03।shutdown। फ्रीबीएसडी मैनुअल पेज। 2016/09/21।reboot, halt, fastboot,fasthalt । फ्रीबीएसडी मैनुअल पेज। 2017/03/19।shutdown। सिस्टम मैनेजर का मैनुअल । DragonFlyBSD मैनुअल पेज। 2016/09/29।reboot, halt, fastboot,fasthalt । सिस्टम मैनेजर का मैनुअल । DragonFlyBSD मैनुअल पेज। 2016/09/29।Nosh सिस्टम प्रबंधन टूलसेट में, halt, fasthalt, poweroff, fastpoweroff, reboot, और fastbootसभी एक कार्यक्रम कर रहे हैं। यह एक बैकवर्ड कम्पैटिबिलिटी शिम है जो सामान्य रूप से प्राप्त ज्ञान shutdownके विपरीत है। --forceविकल्प यह श्रृंखला के लिए बनाता है system-controlके बजाय।
तो इस टूलसेट में कमांड और कमांड (समतुल्य विकल्प के साथ --force) के बीच कोई अंतर (अनुपस्थित ) नहीं है , क्योंकि "बीएसडी / सिस्टम 5 संगतता" कमांड का यह सेट टॉप के ऊपर एक पतली शिम लेयर है ।haltshutdownshutdown
shutdown। nosh टूलसेट मैनुअल पेज। सॉफ्टवेयर्स।telinit, init, reboot, halt, haltsys, powercycle, poweroff, … fastboot, fasthalt, fastpowercycle, fastpoweroff, … nosh टूलसेट मैनुअल पेज। सॉफ्टवेयर्स।नोश के साथ, अपस्टार्ट सिस्टम मैनेजमेंट टूलसेट में, प्राप्त बीएसडी ज्ञान के विपरीत लागू होता है। halt, rebootऔर poweroffसभी एक कार्यक्रम हैं, जो आम तौर पर जंजीरों को जकड़ते हैं shutdown; जब तक --forceविकल्प का उपयोग नहीं किया जाता है, जो इसे reboot()सिस्टम को स्वयं कॉल करता है।
तो, फिर से, इस टूलसेट में कमांड और कमांड (समतुल्य विकल्प के साथ --force) के बीच कोई अंतर (अनुपस्थित ) नहीं है । इसके अलावा फिर से, विकल्प कम (जिनमें से कोई भी , या में प्रणाली लाता अप वे के रूप में लागू पूरी तरह से तैयार विकल्पों समाप्त कर सकते हैं) एकल उपयोगकर्ता मोड के बजाय उसे नीचे बंद।haltshutdownshutdown nowhaltrebootpoweroff
shutdown()) । उबंटू मैनुअल पेज।reboot(8), halt(8), poweroff(8) । उबंटू मैनुअल पेज।init+ rcटूलसेटफिर, यह टूलसेट में प्राप्त बीएसडी ज्ञान के विपरीत लागू होता है और haltऔर rebootबस श्रृंखला के लिए shutdown- जब तक कि प्रणाली poweroff या पड़ाव में पहले से ही है "रन-स्तर", ऐसी स्थिति में इन आदेशों वास्तव में अंतिम सिस्टम स्थिति परिवर्तन अधिनियमित। shutdownइसकी बारी जंजीरों में init।
इसलिए, फिर से, कोई अंतर नहीं है (जब तक कि सिस्टम पहले से ही बड़े पैमाने पर बंद नहीं हो जाता है) haltऔर shutdownक्योंकि पूर्व सिर्फ बाद में आह्वान करता है। और हाँ, फिर से, विकल्प कम shutdown now(जिनमें से कोई भी halt, rebootया poweroffमें प्रणाली लाता अप वे के रूप में लागू पूरी तरह से तैयार विकल्पों समाप्त कर सकते हैं) एकल उपयोगकर्ता मोड के बजाय उसे नीचे बंद।
मुझे संदेह है कि यह कुछ हद तक इस बात पर निर्भर है कि आप UNIX / Linux के किस संस्करण का उपयोग कर रहे हैं। Centos (और मैं अन्य आधुनिक लिनक्स को एक्सपेक्ट करता हूं) शटडाउन कॉल को बंद करता है (बशर्ते कि आप रनलेवल 0 या 6 पर न हों ) इसलिए आपका सिस्टम साफ-सुथरा होगा। सोलारिस पर 10 पड़ाव अधिक क्रूर है, यह सिर्फ डिस्क कैश और शक्तियों flushes सिस्टम बंद - कोई प्रयास किसी भी स्क्रिप्ट या बंद को चलाने के लिए किया जाता है smf सुविधाएं।
AWS EC2 का उपयोग करने वालों के लिए: AWS पर एक उदाहरण shutdown बंद हो जाता है , जब इसे halt समाप्त कर देता है।
लिनक्स में, "पड़ाव" और "रिबूट" शटडाउन कमांड के उपनाम हैं - shutdown -hऔर shutdown -rक्रमशः। बर्डवर्ड शटडाउन आमतौर पर मानता है -एच।
aliasesशेल उपनामों के अर्थ में नहीं हैं , लेकिन हां, haltमूल रूप से सिर्फ कॉल shutdown -hऔर rebootचलाता है shutdown -r। ध्यान दें कि यदि आप पारित -fकरने के लिए (बल) विकल्प haltया reboot, shutdownहै नहीं कहा जाता है।
sendmailइस बिंदु पर कमांड - जैसे एमटीए के साथ, यह वास्तव में कोई फर्क नहीं पड़ता कि आप किस इनिट सिस्टम का उपयोग करते हैं क्योंकि वे सभी इस तरह shutdownऔर दोनों को पहचानेंगे halt।
sendmailकमांड के मामले में भी यही है । यह sendmailकमांड की तरह है , लेकिन उस तरीके से नहीं जैसा आप सोचते हैं।