SSH या मॉनिटर के बिना सुरक्षित रूप से पाई को बंद करना?


25

मेरा पीआई वर्तमान में एसएसएच पर प्रतिक्रिया नहीं दे रहा है, और मेरे पास एकमात्र एचडीएमआई मॉनिटर है जो कई मीटर दूर एक बड़ा टीवी है। मैंने इसे अनप्लग करने के बारे में बुरी बातें सुनी हैं, लेकिन क्या मेरे पास कोई अन्य विकल्प है?

वर्तमान में हेडलेस रास्पबियन चल रहा है, शायद मैं एक कीबोर्ड कनेक्ट कर सकता हूं और कमांड के बारे में अनुमान लगा सकता हूं?


3
यह अब के लिए काम नहीं करेगा, लेकिन आप भविष्य में इसे ठीक से बंद करने के लिए अपने GPIO पिन के लिए एक बटन जोड़ सकते हैं
Rizzle Light

एक डाटापॉइंट के रूप में: कई वर्षों से मैं बैटरी से चलने वाले मोबाइल रोबोट पर विभिन्न कार्यों के लिए आरपीआई का उपयोग कर रहा हूं। ये अक्सर और बिना किसी चेतावनी के अपनी बिजली काट लेते हैं। मुझे अभी तक किसी भी पीएस / एसडी कार्ड के साथ एक समस्या का सामना करना पड़ा है (अच्छी तरह से, एसडी कनेक्शन निरंतर कंपन और दीवार-मुंहतोड़-इन से ढीले होने के अलावा)।
माइक ऑन्स्वर्थ

आप कुछ ही मीटर पर एचडीएमआई मॉनिटर को अस्थायी रूप से स्थानांतरित नहीं कर सकते हैं और फिर इसे वापस कर सकते हैं जब आप कर रहे हैं?
jpmc26

@ jpmc26 यह सीढ़ियों का एक सेट है और यह एक बहुत बड़ा टीवी है।
vpzomtrrfrt

जवाबों:


25

यद्यपि इसे अंतिम उपाय के रूप में माना जाना चाहिए क्योंकि यह फाइलसिस्टम भ्रष्टाचार के जोखिम को बढ़ाता है, कॉर्ड को अनप्लग करना आमतौर पर ठीक है यदि ग्रीन एसीटी लाइट तीव्रता से चमकती नहीं है

डिफ़ॉल्ट रूप से ACT SD कार्ड पर I / O गतिविधि दिखाता है। यदि यह बंद है, तो सबसे अधिक संभावना है कि सिस्टम निष्क्रिय है। यह जरूरी सच नहीं है, लेकिन सीपीयू गहन गतिविधि (और I / O) के साथ व्यस्त एक प्रणाली को मारना स्वाभाविक रूप से वैसे भी समस्या नहीं है। ऑपरेटिंग सिस्टम मेमोरी में फाइल सिस्टम जानकारी को कैश करता है, जिसका अर्थ है कि यह एसडी कार्ड पर वास्तविक स्टोरेज के साथ सिंक से बाहर हो सकता है, लेकिन इसे कम से कम हर कुछ सेकंड में निपटाया जाना चाहिए (आप कभी-कभी एसीटी से इस पैटर्न का अनुमान लगाने में सक्षम हो सकते हैं। एलईडी)।

तो, अगर यह 5-10 सेकंड के लिए देखने के बाद बेकार दिखाई देता है और आपके पास कोई अन्य विकल्प नहीं है, तो आगे बढ़ें और शक्ति को अनप्लग करें। फिर, यह कुछ भी गारंटी नहीं देता है और दुर्भाग्यपूर्ण परिदृश्य हैं जिससे सिस्टम लॉक हो सकता है और फाइलसिस्टम सिंकिंग ठीक से नहीं होती है, लेकिन ज्यादातर मामलों में आपको ठीक होना चाहिए।

मुझे संभवतः सौ बार इस तरह से कॉर्ड को पीआई (या पावर फेल) पर खींचना पड़ा है और इसकी वजह से कभी भी दुःख नहीं हो सकता है। कभी-कभी मैं कार्ड को दूसरी मशीन में डालूंगा और e2fsck -fरूट फाइलसिस्टम पर चलाऊंगा, जो सार्थक है। OS बूट पर स्वचालित रूप से फाइल सिस्टम की जांच करेगा लेकिन इस चेक के फेल होने (या सही तरीके से नहीं होने) और किसी का ध्यान न जाना संभव है।


8
5 से 10 सेकंड की निष्क्रिय अवधि इसलिए है क्योंकि लिनक्स की डिफ़ॉल्ट सेटिंग /proc/sys/vm/dirty_writeback_centisecs500 सेंटीसेकंड (5 सेकंड) है। इसलिए यदि लिनक्स में I / O बफ़र्स में बैठा हुआ डेटा है, तो यह 5 सेकंड के बाद डिस्क में फ्लश करना शुरू कर देगा, जब तक कि इसे बदल नहीं दिया जाता। सिद्धांत रूप में एक जर्नलिंग एफएस पूरे फाइल सिस्टम के भ्रष्टाचार के खिलाफ सुरक्षित होना चाहिए, भले ही आप एक लेखन के दौरान पॉवरऑफ करें, लेकिन इसके निष्क्रिय होने की प्रतीक्षा आपको किसी भी हाल ही में संशोधित फाइलों को नुकसान नहीं पहुंचाने का एक बेहतर मौका देती है। (कौन सा जर्नलिंग केवल ext3 / ext4 डेटा = जर्नल के साथ सुरक्षा करता है, जो डिफ़ॉल्ट नहीं है)
पीटर कॉर्ड्स

31

जादू SysRq कुंजी

इससे आप कार्य शुरू कर पाएंगे।

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

आप एक कीबोर्ड में प्लग कर सकते हैं और इस सामान को ब्लाइंड में टाइप कर सकते हैं (बिना किसी मॉनिटर के)।

कोई फ़ाइल सिस्टम भ्रष्टाचार, कोई अतिरिक्त हार्डवेयर की आवश्यकता नहीं है।


GPIO बटन

जैसा कि Rizzle Light ने सुझाव दिया है, आप किसी प्रकार के बटन को पकड़ सकते हैं और इसे GPIO पिन में वायर कर सकते हैं, और बटन को दबाने के लिए "पॉवरऑफ़" कमांड (व्यवस्थापक विशेषाधिकारों के साथ) को निष्पादित करने के लिए थोड़ा प्रोग्रामिंग जादू करें।

वहाँ GPIO प्रोग्रामिंग ट्यूटोरियल के टन हैं जो आप इस तरह से अनुकूलित कर सकते हैं ।

राहुल आर धोबी के पास एक अच्छा दो-लाइन वाला पायथन स्क्रिप्ट है जो रास्पबेरी पाई को बंद कर देगा:

import os
os.system("shutdown now -h")

रूट विशेषाधिकारों के साथ अपनी स्क्रिप्ट निष्पादित करें।


3
लिनक्स कर्नेल का जादू-एसआईएसआरक्यू प्रलेखन प्रलेखन का एकमात्र टुकड़ा है जिसे मैंने कभी भी कागज पर मुद्रित किया है :)। (और वह वापस आ गया था जब मेरे पास केवल एक कंप्यूटर था।)
पीटर कॉर्डेस

3

अनुमान लगाने की आवश्यकता नहीं; बस कीबोर्ड में प्लग करें और इसे टाइप करें और हिट करें enter:

sudo shutdown -h now

shutdownआदेश पर अमल करने के लिए एक मूल विशेषाधिकार की आवश्यकता है।


4
आपको पहले (अंधा) लॉगिन करना होगा और या तो एक विशेषाधिकार प्राप्त खाते का उपयोग करना होगा या (रास्पियन के महाशक्तिशाली piउपयोगकर्ता ...) का उपयोग करना होगा sudo
गोल्डीलॉक्स

2
@goldilocks: आप शायद रखना चाहते हैं sudoपर शुरुआत के बजाय आदेश की, जोड़कर यह :-)
psmears

@goldilocks: ठीक है, फिर भी, लॉग इन करने से ऐसा लगता नहीं है कि यह बहुत ज्यादा काम है।
मोनिका

1
मैं मुश्किल के स्तर पर टिप्पणी नहीं कर रहा था; सही किया।
गोल्डीलॉक्स

@ गोल्डीलॉक्स: फेयर काफी :)
मोनिका के साथ

1

सीरियल पोर्ट ऐसी स्थितियों के लिए एक अच्छा कमबैक है, और यह डिफ़ॉल्ट रूप से सक्षम है।

आप पोट्टी का उपयोग करके सीरियल पोर्ट से कनेक्ट करने का प्रयास कर सकते हैं। यदि वह काम करता है, तो अपने उपयोगकर्ता नाम का उपयोग करके लॉगिन करें और सुरक्षित रूप से बंद करने के लिए "sudo पॉवरऑफ़" जारी करें।

अधिक जानकारी के लिए http://elinux.org/RPi_Serial_Connection देखें ...


0

जब मैं एक ही मुद्दे में भाग गया तो मैं मॉनिटर के लिए आसान पहुंच के बिना घर के एक हिस्से में एक फाइलरवर का परीक्षण कर रहा था। निम्नलिखित ने मेरे लिए काम किया, मान लिया कि आपका पाई डिफ़ॉल्ट GUI वातावरण में बूट हो रहा है:

  1. एक कीबोर्ड में प्लग करें (यदि पहले से नहीं किया गया है)।
  2. Alt-F2रन संवाद खोलने के लिए हिट करें।
  3. टर्मिनल विंडो शुरू करने के लिए निम्न और हिट दर्ज करें:

    lxterminal
    
  4. सुरक्षित होने के लिए कुछ सेकंड रुकें, और फिर निम्न टाइप करें:

    sudo shutdoown now -h
    
  5. मारो मारो।

इससे पाई बंद होनी चाहिए। यदि यह काम करता है, तो कीबोर्ड लाइट और कोई भी संलग्न USB डिवाइस बंद हो जाएगा। यदि नहीं, तो आप कमांड टाइप करने में गलती करने पर उपरोक्त चरणों को दोहरा सकते हैं।


-1

विंडो बटन - नौ बार नीचे की ओर - 2 बार दर्ज करें ... आनंद लें ...


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

यह भी ध्यान दें कि पूछने वाला हेडलेस रास्पियन चला रहा है । इसका मतलब है कि डेस्कटॉप वातावरण स्थापित नहीं है, इसलिए यह महत्वपूर्ण अनुक्रम संभवतः मदद नहीं करेगा।
हाइड्रैक्सन 14
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.