“ ปิดตอนนี้” หรือ“ ปิดตอนนี้ -h” เพื่อปิด Raspberry Pi?


12

ฉันใหม่กับ Linux (โดยใช้ Raspbian) และ Raspberry Pi และฉันสงสัยว่าคำสั่งสองคำใดที่กล่าวถึงในชื่อที่ฉันควรใช้เมื่อปิด Pi ของฉัน ฉัน googled พวกเขา แต่ก็ยังไม่ได้รับความแตกต่างระหว่างทั้งสองจริงๆมันเป็นสิ่งสำคัญที่ฉันใช้?

คำตอบ:


13

man shutdownพิมพ์ลอง man pages แสดงรายการตัวเลือกทั้งหมดที่คำสั่งสามารถทำได้และคำอธิบายเกี่ยวกับสิ่งที่พวกเขาทำ ในกรณีของ-h:

-h ร้องขอให้ระบบหยุดทำงานหรือปิดหลังจากที่ระบบถูกปิดลงโดยมีตัวเลือกว่าจะให้ระบบหยุดทำงานหรือไม่

ความแตกต่างระหว่างการรวม-hตัวเลือกหรือไม่นั้นเล็กน้อยและไม่เกี่ยวข้องในกรณีนี้เนื่องจากคุณไม่สามารถปิด Pi ได้ แต่ไม่ต้องถอด USB ออกด้วยตนเอง


5

man shutdownเอกสารที่อยู่ใน 1

-P, --poweroff
           Power-off the machine (the default).

[...]

-h
           Equivalent to --poweroff, unless --halt is specified.

บางครั้งคำสั่งจะมีสวิตช์ที่ดูเหมือนซ้ำซ้อนเช่นนี้เนื่องจากจะต้องเป็นไปตามข้อกำหนดสำหรับบริบทที่แตกต่างกัน ตรรกะง่ายๆบอกเราว่าตั้งแต่poweroffเป็นค่าเริ่มต้นแล้วใช้-hเป็นตัวเองซ้ำซ้อน (อีกครั้งก็มีอยู่เพื่อความพึงพอใจข้อมูลจำเพาะภายนอกการใช้งานบางอย่างshutdownอาจจะไม่ทำงานด้วยวิธีนี้โดยเริ่มต้น แต่ทุกคนที่สอดคล้องจะดำเนินการ-h)

เนื่องจาก pi เองไม่สามารถปิดไฟได้ (มันเสียบเข้ากับ == เปิดหรือไม่) จึงไม่มีประโยชน์ในการใช้poweroffแต่จะไม่ทำให้เกิดอันตรายใด ๆ มันอาจสร้างความแตกต่างในวิธี WRT ที่ LED สีแดงกระพริบที่ท้าย (คุณสามารถเปรียบเทียบกับshutdown -Hดู) โปรดทราบวัตถุประสงค์หลักของshutdownการหยุด (หยุด) ระบบปฏิบัติการไม่ให้ทำงาน

ดังนั้นคุณสามารถใช้ทั้งสองรูปแบบ


1. อันนี้มาจาก Raspbian jessieและมาพร้อมกับ systemd; มันแตกต่างจากการปิดใน Raspbian wheezy เล็กน้อย (คำตอบของ Greenonline อ้างว่า) ซึ่งเป็นตัวอย่างของสิ่งที่ฉันพูดถึงในย่อหน้าถัดไปเกี่ยวกับการใช้งานต่าง ๆ ที่ตรงตามข้อกำหนดเดียวกัน กระบวนการปิดระบบเป็นส่วนหนึ่งของระบบเริ่มต้นซึ่งก็คือ SysV บนเสียงดังและ systemd บน jessie


1

ฉันชอบ

sudo halt

ฉันจำไม่ได้ว่าทำไมฉันถึงเลือกสิ่งนี้ แต่ด้วยเหตุผลใดก็ตามคำสั่งอื่น ๆ ก็ทำให้เกิดปัญหา มันทำงานได้อย่างสมบูรณ์แบบ ในการรีบูต:

sudo restart

2
หากคุณดำเนินการเพียงแค่haltมันอาจจะทำให้เกิดการสูญเสียข้อมูล วิธีปฏิบัติที่ดีกว่าsudo sync;sync;haltนี้คือการประสานการจัดเก็บข้อมูล (เช่นฮาร์ดดิสก์การ์ด SD) กับข้อมูลแคชที่ยังไม่ได้เขียนยังคงอยู่ในหน่วยความจำก่อนที่จะหยุดระบบ
Greenonline

2
@Greenonline หากคุณดำเนินการhalt จาก runlevel 0 หรือ 6อาจทำให้ข้อมูลสูญหายได้ ในระดับการทำงานอื่น ๆ shutdown -h nowก็เทียบเท่ากับ
ทำเครื่องหมาย

1
เหตุใดผู้ใช้จึงไม่สนใจคำสั่ง "init" บนระบบปฏิบัติการยูนิกซ์ init 0เพื่อปิดเครื่องinit 6เพื่อเริ่มต้นใหม่
rkosegi

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