ฉันจะปิด Raspberry Pi ของฉันได้อย่างไร


247

ฉันควรดึงปลั๊กไหม? หรือมันจะดีที่สุดถ้าฉันออกจาก LXDE และกระบวนการทำงานอื่น ๆ ก่อน?


45
แน่นอนฉันปิด Pi ของฉันอย่างถูกต้องทุกครั้ง ... ไอ
berry120

11
sudo halt -pจะทำมัน
Thorbjørn Ravn Andersen

12
ฉันชอบที่จะเห็น "วิธีการ" สำหรับปุ่มยากที่เชื่อมต่อกับ GPIO เพื่อบอกระบบปฏิบัติการให้ปิดเครื่อง

20
คนที่ดึงพลังออกมาจากใต้ Pi ของพวกเขาควรหยุดทำเช่นนั้น ฉันมีการติดตั้งแบบเต็มของ Rasbian สองตัวเริ่มต้นเคอร์เนลที่ทำให้ตกใจเนื่องจากระบบไฟล์เสียหายจากการปิดระบบที่ไม่เหมาะสม (เช่นการดึงพลังงาน) ฉันต้องอิมเมจการ์ดอีกครั้งในทั้งสองกรณีและทำงานใหม่ทั้งหมดที่ฉันใส่เพื่อกำหนดค่า
tavis

3
@tavis - เมื่อคุณได้รับการกำหนดค่าที่ดีคุณมีความสุขคุณควรสำรองข้อมูลด้วยบางอย่างเช่น Win23 Disk Imager น้ำหนักเบาฟรี ฯลฯ จะเก็บสำเนาที่แน่นอนของระบบปฏิบัติการทั้งหมดของ Raspberry Pi ดังนั้นคุณจึงเดินทางไปที่ Best Buy อย่างรวดเร็วโดยไม่ต้องมี Pi ที่ได้รับการกู้คืนอย่างสมบูรณ์โดยสมมติว่าปัญหานี้เกิดจากความล้มเหลวของดิสก์หรือการกำหนดค่าผิดพลาด -)
GojiraDeMonstah

คำตอบ:


251

คุณไม่ต้องการดึงปลั๊ก สิ่งนี้อาจทำให้เกิดปัญหากับการ์ด SD และระบบไฟล์

จากบรรทัดคำสั่ง

เมื่อใช้บรรทัดคำสั่งหรือหน้าต่างเทอร์มินัลคุณสามารถป้อนข้อมูลต่อไปนี้เพื่อทำการปิดระบบแบบใหม่ทั้งหมด:

sudo shutdown -h now

จาก LXDE GUI

  1. คลิกที่ปุ่มปิด (ปุ่มเปิด / ปิดสีแดง) ในแถบเมนูที่มุมล่างขวาของหน้าจอ
  2. คลิกปิด (หรือ "ออกจากระบบ" ตามที่แสดงในเวอร์ชั่นที่ใหม่กว่าจากนั้นออกคำสั่งปิดระบบที่แสดงด้านบน)

เมื่อระบบแจ้งว่าหยุดทำงานคุณสามารถถอดสายไฟออกได้ถ้าจำเป็น


2
เกี่ยวกับส่วน LXDE GUI: สิ่งนี้ยังคงเป็นปัจจุบันหรือไม่? ฉันลองกับ Raspbian ที่สอดคล้องกับNOOBS 1.4 ที่ออกวางจำหน่าย 2015-03, Linux เวอร์ชันพื้นฐาน: Debian 7 (Wheezy) - ฉันไม่แน่ใจว่าของรุ่นที่แน่นอน แต่เป็น Raspbian ultimo 2014 / primo 2015 (รวมการแก้ไขข้อบกพร่องของShellshockแล้ว) . การกดปุ่มเพาเวอร์ที่มุมล่างขวามีเพียงการออกจากระบบเท่านั้น (และยกเลิก) อย่างไรก็ตามมีไอคอนบนเดสก์ท็อปชื่อว่า "ปิดเครื่อง" ฉันไม่รู้ว่า NOOBS ปรับแต่ง / กำหนดค่า Raspbian หรือไม่
Peter Mortensen

@PeterMortensen ดูเหมือนว่ารุ่นใหม่ของ Raspbian ได้ลบออกจากตัวเลือกดังนั้นฉันได้ทำการแก้ไขด้านบนเพื่อแก้ไข - ขอบคุณ
Steve Robillard

57

เป็นการดีที่สุดที่จะปิดเครื่องอย่างถูกต้องเสมอหากคุณทำได้

การถอดปลั๊กอุปกรณ์อย่างต่อเนื่องโดยไม่ปิดระบบอย่างสง่างามอาจมีผลกระทบที่ไม่พึงประสงค์ในการ์ด SD (วัตถุที่มีอารมณ์แปรปรวนอยู่แล้ว)

สำหรับการอ้างอิงเพื่อปิดเครื่องจากเทอร์มินัลคุณสามารถใช้:

sudo shutdown -h now

หรือ

sudo halt

คำสั่งเหล่านี้ส่งSIGTERMไปยังกระบวนการที่กำลังทำงานอยู่ทั้งหมดโดยแจ้งให้พวกเขาบันทึกข้อมูลและออก จากนั้นจะส่งSIGKILLกระบวนการที่เหลือทั้งหมดเพื่อหยุดระบบตามด้วยการยกเลิกการต่อเชื่อมระบบไฟล์ทั้งหมดในที่สุด หน้าจอจะแสดงขึ้นมาSystem Haltedและคุณสามารถดึงปลั๊กได้


6
sudo poweroffยังใช้งานได้ดี
Nilpo

3
ออกจากดอกเบี้ยสิ่งที่แตกต่างระหว่างhalt, shutdownและpoweroff?
ACarter

2
@ ACarter ไม่มีความแตกต่างพวกเขาทั้งหมดเปลี่ยนระบบเป็น runlevel 6
Jivings

3
ไม่ได้ใช้เหมือนกัน: aplawrence.com/Linux/halt_shutdown_reboot.html
เอนก

1
@Jivings พวกเขาไม่ เหมือนกันในทุก ๆ ระบบ / distroตัวอย่างเช่นตัวแปร BSD บางตัวจะหยุด CPU โดยไม่ได้ฆ่ากระบวนการใด ๆ เมื่อเรียกhaltใช้ นอกจากนี้คุณสามารถระบุhaltให้หยุดเคอร์เนล / CPU ได้ทันทีโดยไม่ต้องดำเนินการใด ๆ ด้วยเหตุนี้ฉันจะใช้ต่อไปshutdownจนกว่าคุณจะมีเหตุผลเฉพาะที่ไม่ควรทำ
พัฒนา

29

ฉันใช้โซลูชันshutdown.pyนั้นด้วย

คุณจะยังคงต้องไปหาสวิทช์ทางกายภาพและประสานไปยังหมุด 6 และ 8 ของส่วนหัว 5 ฉันเอาของฉันมาจากบอร์ด Arduino เก่าที่ชำรุด ฉันยังเจาะรูเล็ก ๆ ในเคสเพื่อให้แน่ใจว่าฉันสามารถกดปุ่มด้วยหมุดไม้เล็ก ๆ ได้เมื่อปิดเคส

นี่คือลักษณะ:

สกรีนช็อตของการจัดเรียงสวิตช์


ในฐานะที่เป็นมือใหม่ของ Raspberry Pi เหตุใดจึงจำเป็นต้องหาสวิตช์ทางกายภาพและประสานเข้ากับหมุดเหล่านั้น? คุณต้องการฮาร์ดแวร์เพื่อปิดอย่างถูกต้องหรือเกิดอะไรขึ้นถ้าคุณเพิ่งปิดโดยใช้ซอฟต์แวร์ (เช่นจาก shell หรือจาก GUI)?
HelloGoodbye

ประเด็นคือต้องทำในพื้นที่โดยไม่มีการเข้าถึงระยะไกล ไม่มีปุ่มใดที่จะปิดระบบปฏิบัติการได้อย่างสง่างามดังนั้นเพียงแค่ "ดึงปลั๊ก" ดังที่ OP แนะนำไว้ไม่ใช่ตัวเลือกที่ดี
Oleg Gryb

ฉันไม่แน่ใจว่าฉันติดตามคุณ ทำไมสวิทช์ทางกายภาพจึงต้องทำการบัดกรีให้กับ Pi หรือดีกว่าการดึงปลั๊ก?
HelloGoodbye

ไม่คุณไม่แน่นอน ฉันไม่ได้บอกว่า "จำเป็น" ฉันกำลังบอกว่าคุณสามารถใช้วิธีแก้ปัญหาเพื่อปิดอุปกรณ์ได้อย่างสง่างามโดยไม่ต้องเข้าถึงจากระยะไกล
Oleg Gryb

ใช่ฉันเข้าใจแล้วดังนั้นจึงจำเป็นเฉพาะเมื่อคุณใช้โซลูชัน shotdown.py ดูเหมือนว่าไฟล์จะถูกย้ายหรือลบออก แต่; ลิงก์ของคุณไม่ได้ชี้ไปที่มันอีกต่อไป
HelloGoodbye

14

ฉันติดตามโครงการที่อธิบายไว้ในRaspberry Pi Shutdown Switch - ปิด Pi อย่างปลอดภัยแต่ตั้งค่า pin 17 ให้ดึงขึ้นภายใน จากนั้นเชื่อมต่อสายไฟเช่นโครงการด้านบน แต่ไม่ต้องมีตัวต้านทานใด ๆ และเพิ่มสคริปต์ Python ต่อไปนี้ใน/etc/rc.local:

python shutdown_button.py

ไฟล์ shutdown_button.py

import RPi.GPIO as GPIO
import time
import os
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.IN, pull_up_down = GPIO.PUD_UP)
while True:
    print GPIO.input(17)
    if (GPIO.input(17) == False):
        os.system("sudo shutdown -h now")
        break
    time.sleep(1)

1
การเล่นโวหารดังกล่าวข้างต้นนั้นเป็นเพราะการตรวจสอบสถานะหนึ่งครั้งในบางครั้งมันจะต้องกดปุ่มค้างไว้เป็นวินาทีเต็มและเวลาอื่น ๆ จะปรากฏขึ้นเพื่อเริ่มปิดลงทันที ไม่เป็นไรแน่นอนแค่เล่นโวหาร
Brian

8
ใช้GPIO.wait_for_edge(17, GPIO.FALLING)แทนห่วงในขณะที่ตอบสนองได้ดีขึ้น
Mauro De Lucca

13

ข้อควรพิจารณาอื่น ๆ นอกเหนือจากพลังงานและตัวเชื่อมต่ออื่น ๆ จะได้รับการออกแบบมาสำหรับการ จำกัด จำนวน / การถอด / ปลดวงจร บ่อยครั้งที่จำนวนนี้น้อยมาก

ตัวเชื่อมต่อทางสถิติเป็นสาเหตุของความล้มเหลวของอุปกรณ์

ด้วยมุมมองของอายุการใช้งานโดยรวมของ Pi ของคุณคุณอาจต้องการกลั่นกรองจำนวนการเชื่อมต่อ / ตัดการเชื่อมต่อของขั้วต่อ วิธีหนึ่งในการช่วยในการทำเช่นนี้คือใช้สวิตช์เปิด / ปิดของแหล่งจ่ายไฟหลัก


ดังนั้นข้อเสนอแนะคืออะไร? ปิด Raspberry Pi โดยปลดแหล่งจ่ายไฟออกจากแหล่งจ่ายไฟหลัก (ซึ่งจะช่วยลดจำนวนการใส่ / ถอดรอบไปยังตัวเชื่อมต่อบนอุปกรณ์)? ฉันพบคำตอบของคุณเกี่ยวกับความน่าจะเป็นของความล้มเหลวของตัวเชื่อมต่อที่น่าสนใจมาก คุณสามารถสำรองข้อมูลพร้อมลิงก์ไปยังหลักฐานใด ๆ ได้หรือไม่? ขอบคุณ
Andrew Fogg

3
@AndrewFogg เป็นปัจจัยที่มีความรู้ในการออกแบบอุปกรณ์ในวิศวกรรมไฟฟ้า ในกรณีทั่วไปชิ้นส่วนอิเล็กทรอนิกส์จะไม่ได้รับแรงทางกลเท่ากันกับตัวเชื่อมต่อ ผู้ผลิตจับคู่อายุการใช้งานตามที่คุณคาดหวังสำหรับตัวเชื่อมต่อจะได้รับในสภาพที่ดีดังนั้นมักจะมองโลกในแง่ดีและไม่ได้คำนึงถึงการใช้งานจริงของมนุษย์แผ่นข้อมูลตรวจสอบช่องเสียบขอบ - USB 5,000-10,000 ดังนั้นใช่คุณถูกต้องปิดที่เต้ารับเป็นตัวเลือกที่ดีที่สุด
image_doctor

โปรดเพิ่มข้อเสนอแนะในคำตอบของคุณ คุณและฉันมาถึงข้อสรุป แต่คนอื่น ๆ อาจไม่เห็นความหมาย
Bengt

แล้วสวิตช์ล่ะ พวกมันถูกออกแบบมาเพื่อเปิด / ปิดวงกลมเพิ่มเติมหรือไม่ เป็นความคิดที่ดีหรือไม่ที่จะวางสวิตช์บนด้าน AC ของแหล่งจ่ายไฟ?
Bengt

2
หากสามารถเข้าถึงได้ (และไม่เข้าไปในอุปกรณ์ที่มีราคาแพงกว่าอย่างเช่นเดสก์ท็อป / แล็ปท็อป) ฉันคิดว่ามันน่าจะดีกว่าที่จะเสียบสาย USB "A" ที่ปลายสาย สายเคเบิลมีราคาถูกเพื่อทดแทนและปลาย "A" มักจะเสียบและถอดปลั๊กได้ง่ายขึ้นโดยไม่ต้องให้คุณใช้นิ้วจับบอร์ดอย่างแน่นหนา
Chris Stratton

6

ฉันเข้าสู่ Raspberry Pi ของฉันจากระยะไกลและนี่คือวิธีที่ฉันปิดมัน:

  1. ดำเนินการคำสั่ง:
    sudo shutdown -h now
  2. รอจนกระทั่งไฟ LED หยุดกะพริบบน Raspberry Pi
  3. รออีกห้าวินาทีเพื่อการวัดที่ดี (ตัวเลือก)
  4. ปิด powerstrip ที่เสียบแหล่งจ่ายไฟ Raspberry Pi

เนื่องจากฉันใช้จอแสดงผลระยะไกลฉันไม่จำเป็นต้องเห็นผลลัพธ์สุดท้ายของ Raspberry Pi ในหน้าต่างคำสั่งซึ่งเป็นสาเหตุที่ฉันใช้ไฟกิจกรรม สถานะที่ไม่กะพริบของไฟ LED ไม่ใช่ข้อบ่งชี้ที่แน่ชัดของการปิดระบบที่สมบูรณ์ แต่มันก็ทำงานได้ดีพอสำหรับฉัน


3

เพื่อหลีกเลี่ยงปัญหาความเสียหายของการ์ด SD คุณควรปิดระบบปฏิบัติการอย่างถูกต้องเสมอ คุณสามารถทำให้สิ่งนี้เป็นแบบอัตโนมัติได้โดยใช้โซลูชันฮาร์ดแวร์ตัวควบคุมพลังงานและสคริปต์ที่ทริกเกอร์ผ่านสัญญาณพอร์ต GPIO ตัวอย่าง (นอกเหนือจาก Pi Supply ที่กล่าวถึงข้างต้น):

RemotePi Board ในลิงค์สุดท้ายมีฟังก์ชั่นเพิ่มเติมของการใช้รีโมท IR เพื่อเปิด / ปิด Raspberry Pi


2

หากราสเบอร์รี่ Pi ของคุณถูกแช่แข็งคุณจะไม่สามารถเข้าสู่ ssh หรือคอนโซลได้ ฉันทำการ์ด SD ของฉันแตกก่อนหน้านี้:

กดทั้ง Alt + PrintScreen ค้างไว้และในขณะที่กดปุ่มเหล่านั้นค้างไว้ให้กดปุ่มต่อไปนี้ตามลำดับทีละครั้งด้วยการหยุดชั่วครู่ระหว่างสองสามวินาที

Alt+ PrintScreen+R E I S U O

หรือ

Alt+ PrintScreen+ R E I S U B(รีบูต)

ตัวช่วยจำที่ใช้งานง่ายในการจำนั่นคือ Reboot แม้ว่าระบบจะใช้งานไม่ได้เต็มที่

แทน "O" สำหรับ "B" เพื่อปิดระบบแทนการรีบูต (O = off, B = boot)

ที่มา: https://www.raspberrypi.org/forums/viewtopic.php?t=176612#p1126262


1
แหล่งที่มาหลัก: en.wikipedia.org/wiki/Magic_SysRq_key (โปรดคำนึงถึงรูปแบบแป้นพิมพ์ของคุณ)
Fabian

1

มันไม่ยากมาก sudo haltไปลงพร้อมรับคำสั่งและพิมพ์ ป้อนรหัสผ่านของคุณหากจำเป็น เมื่อไม่มีสิ่งใดบนหน้าจอดึงปลั๊กออก

ข้อมูลจากเว็บไซต์ Raspberry Pi


ฉันจะเพิ่มเฉพาะหลังจากที่หน้าจอมืดฉันตรวจสอบอีกครั้งเพื่อให้แน่ใจว่าแสงสีเขียวก็ดับ
SDsolar

1

นอกจากนี้ยังมีบอร์ด GPIO ที่เรียกว่าPi Supplyที่มีสวิตช์เปิดปิดการจัดการพลังงานและปิดการล็อคอัพ นอกจากนี้ยังมีประโยชน์หากปลั๊กของคุณอยู่ด้านหลังทีวีและยากต่อการเข้าถึง คุณยังต้องปิดเครื่องตามปกติ แต่จะปิด Raspberry Pi

หากคุณกังวลเกี่ยวกับการสวมพอร์ต power micro USB ในการใช้งานตามปกติคุณสามารถรับอะแดปเตอร์ USB แบบตัวผู้กับตัวเมียแล้วเสียบปลั๊กไฟเข้าที่


1

มีหลายวิธีในการปิด pi! เพียงแค่ดึงปลั๊กโดยไม่ต้องปิดเครื่องอย่างเหมาะสมอาจทำให้การ์ด SD ของคุณเสียหาย!

เพื่อปิดการใช้งานsudo shutdown -nowหรือsudo shutdown -timeบอกปิดในไม่กี่นาที

เมื่อต้องการรีบูตใช้sudo rebootเพื่อรีสตาร์ทและsudo reboot -time in minutesเปิดเครื่องอีกครั้งและหรือใช้sudo rebootเพื่อรีสตาร์ททันทีsudo shutdownโดยไม่มี-timeค่าเริ่มต้นเป็นหนึ่งนาทีเพื่อยกเลิกการปิดการใช้งานsudo shutdown -c

หมายเหตุ:คุณยังสามารถกดปุ่ม raspberry pi จากนั้นคลิก power จากนั้นปิดหรือรีบูตด้วยซึ่งการปิดและการรีสตาร์ทนั้นทั้งสองทันที!


ปรับปรุง:

ตามที่อธิบายไว้ในคำตอบอื่น ๆ ของโพสต์นี้:

sudo halt

จะใช้งานได้: เมื่อไม่มีสิ่งใดบนหน้าจอเพียงแค่ดึงปลั๊ก!


"ไม่มีวิธีเปิดเครื่องโดยไม่ดึงปลั๊กแล้วนำกลับมา" -> ไม่ถูกต้อง ส่วนหัว RUN สามารถใช้เพื่อทำการรีเซ็ตฮาร์ดของ SoC ทำให้บูตได้ (ไม่ว่าระบบปฏิบัติการจะปิดตัวลงหรือไม่ ... ): raspberrypi.stackexchange.com/q/29339/5538ในบางรุ่นเหล่านี้มีป้ายกำกับ P6 ไม่ใช่ RUN
goldilocks

@goldilocks ขอบคุณคุณไม่รู้ว่าฉันลบออกจากโพสต์ของฉัน
User98764431

0

คุณไม่ต้องการสวิตช์ไฟสำหรับ Raspberry Pi ของคุณ ฉันใช้ฮับ USB สำหรับแหล่งจ่ายไฟที่มีสวิตช์เปิด / ปิด ดังนั้นเมื่อใดก็ตามที่ฉันต้องการปิด Raspberry Pi ฉันก็แค่ปิดสวิตช์ USB


20
ไม่ใช่ความคิดที่ดีที่เพียงพลังของ Pi - YOU เท่านั้นที่จะเสี่ยงต่อการสูญหายของข้อมูล ดีกว่าที่จะปิดตัวลงตามที่ตั้งใจไว้เสมอ ตัวอย่างเช่น - FreeNAS (ตาม FreeBSD) มีความปลอดภัยในการทำเช่นนั้นเพราะรูทนั้นอ่านได้อย่างเดียว แต่เพราะมันเป็น NAS! ข้อมูลอาจสูญหายได้ในขณะที่เขียนไปยังฮาร์ดไดรฟ์ของคุณ ใช้วิธีการปิดระบบที่นำมาใช้เสมอ!
Piotr Kula

0

คุณควรดึงปลั๊กถ้าไฟ LED สีเขียวดับ ไฟ LED สีเขียวกะพริบหากเครื่องกำลังเขียนไปยังการ์ด SD


0

คำสั่ง unix ปกติทำงานกับ Linux ได้ดังนี้

init 0 จะปิดลงดังนั้นมันจึงปลอดภัยที่จะดึงปลั๊ก

init 6 จะรีบูท

ไม่เหมือนยูนิกซ์ไม่จำเป็นต้องทำการซิงค์จริงๆ ซิงค์; ก่อนที่จะปิดตัวลง แต่การดึงปลั๊กอาจทำให้เกิดข้อผิดพลาดได้ดังนั้นให้แน่ใจว่าใช้การปิดระบบหรือ init 0 ก่อนที่จะถอดปลั๊กไฟ หากคุณเกิดขัดจังหวะพลังงานโดยไม่คาดคิดให้ใช้ fsck เพื่อตรวจสอบและ / หรือแก้ไขปัญหาที่อาจเกิดขึ้น

อาจมีกรณีที่ต้องทำการซิงค์แบบเต็ม ซิงค์; ซิงค์; นอน 30 หยุดถ้าคุณมีระบบไฟล์ภายนอกที่ไม่เลิกเมานท์อย่างหมดจด คุณจะรู้ว่านี่เป็นปัญหาหรือไม่โดยการรัน fsck บนระบบไฟล์ภายนอกทันทีหลังจากบูท หากพบปัญหาคุณอาจต้องการทำสิ่งทั้งหมด แต่ฉันไม่เคยเห็นสิ่งนี้เกิดขึ้นกับ Rpi3 ของฉัน


0

ใช้คำสั่งเพื่อปิดและปิด Raspberry Pi ของคุณทุกครั้ง ฉันใช้ sudo halt เหมือนกับผู้ใช้คนอื่น ๆ ฉันขอแนะนำให้สำรองข้อมูลการ์ด SD ของคุณฉันถอดปลั๊กออกโดยไม่ได้ตั้งใจและทำให้ภาพเสียหาย มันง่ายกว่าที่จะปิดกว่าเขียนภาพใหม่และเริ่มต้นใหม่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.