रिबूट, इनिट 6 और शटडाउन -r के बीच अब क्या अंतर है?


100

मैं बस के बीच अंतर जानना चाहता हूँ

  • reboot
  • init 6
  • shutdown -r now

और कौन सा सबसे सुरक्षित और सबसे अच्छा है?


1
इन तीन आदेशों का सटीक व्यवहार ऑपरेटिंग सिस्टम से ऑपरेटिंग सिस्टम तक भिन्न होता है।
थोरबजोरन रावन एंडरसन

जवाबों:


83

उनमें कोई अंतर नहीं है। आंतरिक रूप से वे ठीक यही काम करते हैं:

  • rebootshutdownकमांड (-r स्विच के साथ) का उपयोग करता है । शटडाउन कमांड सभी चल रही प्रक्रियाओं को मारने के लिए उपयोग किया जाता है, सभी फाइल सिस्टम को अनमाउंट करता है और अंत में कर्नेल को एसीपी पावर कमांड जारी करने के लिए कहता है। स्रोत यहां पाया जा सकता है । पुराने डिस्ट्रोस में रिबूट कमांड SIGKILLसिग्नल जारी करके बाहर निकलने के लिए मजबूर कर रहा था (अभी भी स्रोतों में पाया जा सकता है -f, विकल्प के साथ लागू किया जा सकता है ), ज्यादातर हालिया डिस्ट्रोस में यह अधिक सुंदर और इनट फ्रेंडली होने के लिए चूक करता है init 1 -> shutdown -r। यह सुनिश्चित करता है कि शटडाउन से पहले डेमॉन खुद को साफ करते हैं।

  • init 6initइनवॉइस फ़ाइलों में लिखे गए (उलटे क्रम में शुरू) और अंतिम रूप shutdown -r nowसे मशीन को रिबूट करने के लिए अंतिम रूप से लागू करने की प्रक्रिया को बताता है।

आज बहुत अंतर नहीं है क्योंकि दोनों कमांड बिल्कुल समान हैं, और वे उनके लिए शटडाउन स्क्रिप्ट को लागू करके सेवाओं / डेमों को शुरू करने के लिए उपयोग की जाने वाली इनिट स्क्रिप्ट का सम्मान करते हैं। सिवाय reboot -f -r nowनीचे बताए गए

reboot -fसुरक्षित नहीं है , क्यों के manpages से लिया गया एक छोटा सा विवरण है:

  -एफ, --फोर्स
    बलपूर्वक तत्काल रोक, बिजली बंद, रिबूट। Init सिस्टम से संपर्क न करें।

संपादित करें:

उल्लेख करना भूल गए, आगामी आरएचईएल वितरण में आपको systemctlपावरऑफ / रिबूट जारी करने के लिए नई कमांड का उपयोग करना चाहिए । जैसा कि कहा जाता है rebootऔर shutdownवे "केवल अनुकूलता के लिए उपलब्ध एक विरासत आदेश" हैं। और systemctlविधि केवल एक ही सुरक्षित होगी।


कभी-कभी मेरा रिबूट SIGTERM पर लटक जाता है, क्या यह जानने का एक तरीका है, और रिबूट को टाइमआउट करने का एक तरीका भी है, जैसे कि यदि यह बहुत लंबा होता है, तो यह रिबूट को मजबूर करेगा?
CMCDragonkai

2
उन आरएचईएल संस्करण अब "आगामी" नहीं हैं। । जैसा कि unix.stackexchange.com/a/196014/5132 पर और अधिक विस्तार से बताया गया है , इस तरह के सिस्टेम ऑपरेटिंग सिस्टम पर बिल्कुल भी कोई अंतर नहीं है। वे अलग-अलग कार्यक्रम भी नहीं कर रहे हैं।
JdeBP

क्या आपने टाइपो कहा से किया init 1 -> shutdown -r?
deed02392

आपका लिंक टूट गया है।
18

8

शटडाउन बेहतर है क्योंकि यह आपको कठोर कार्रवाई के कारण को निर्दिष्ट करने की अनुमति देता है - कुछ ऐसा जो आपको हमेशा करना चाहिए। संदेश पोस्टरिटी के लिए लॉग (एस) में दर्ज किया जाएगा। उदाहरण के लिए:

shutdown -r now 'Kernel upgrade requires reboot'

आप एक निर्धारित रिबूट भी कर सकते हैं - nowरिबूट समय के अलावा कुछ और निर्दिष्ट करके :

shutdown -r 22:00 'Work around kernel memory leak'

फिर आपके उपयोगकर्ता समय-समय पर संपर्क करने के लिए समय-समय पर याद दिलाते रहेंगे - प्रक्रिया अधिक व्यवस्थित और पेशेवर होगी।


5

पारंपरिक यूनियनों पर, rebootऔर shutdown -r nowकाफी हद तक अलग-अलग आदेश हैं। विशिष्ट उपयोग के तहत, rebootएकल उपयोगकर्ता मोड में उपयोग करने के लिए केवल सुरक्षित है।

shutdown -r nowसामान्य रूप से उपयोग करने के लिए विभिन्न * निक्स और सुरक्षित भर में बंद करने के लिए विहित विधि है और कार्यात्मक रूप से इसके बराबर है init 6

init (8) रिबूट (8)


4

FreeBSD पर rebootऔर के बीच अंतर है shutdown -r now। से rebootआदमी पेज:

आम तौर पर, शटडाउन (8) उपयोगिता का उपयोग तब किया जाता है जब सिस्टम को रोकने या फिर से शुरू करने की आवश्यकता होती है, जिससे उपयोगकर्ताओं को उनके आसन्न कयामत की सफाई और विशिष्ट कार्यक्रमों को साफ करने की चेतावनी दी जाती है।


1
यह बीएसडी प्रश्न नहीं है, हालांकि, जैसा कि कमांड में से एक में सिस्टम 5 रन-लेवल के सवाल और उपयोग पर टैग द्वारा दर्शाया गया है। B
जेडीबीपी

1
मुझे पता है कि यह एक लिनक्स प्रश्न है। मैंने सोचा कि किसी को यह जानना उपयोगी हो सकता है कि कुछ अन्य प्रणालियों में अंतर है।
मारीआन Marierný
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.