ฉันใหม่กับ Linux (โดยใช้ Raspbian) และ Raspberry Pi และฉันสงสัยว่าคำสั่งสองคำใดที่กล่าวถึงในชื่อที่ฉันควรใช้เมื่อปิด Pi ของฉัน ฉัน googled พวกเขา แต่ก็ยังไม่ได้รับความแตกต่างระหว่างทั้งสองจริงๆมันเป็นสิ่งสำคัญที่ฉันใช้?
ฉันใหม่กับ Linux (โดยใช้ Raspbian) และ Raspberry Pi และฉันสงสัยว่าคำสั่งสองคำใดที่กล่าวถึงในชื่อที่ฉันควรใช้เมื่อปิด Pi ของฉัน ฉัน googled พวกเขา แต่ก็ยังไม่ได้รับความแตกต่างระหว่างทั้งสองจริงๆมันเป็นสิ่งสำคัญที่ฉันใช้?
คำตอบ:
man shutdownพิมพ์ลอง man pages แสดงรายการตัวเลือกทั้งหมดที่คำสั่งสามารถทำได้และคำอธิบายเกี่ยวกับสิ่งที่พวกเขาทำ ในกรณีของ-h:
-h ร้องขอให้ระบบหยุดทำงานหรือปิดหลังจากที่ระบบถูกปิดลงโดยมีตัวเลือกว่าจะให้ระบบหยุดทำงานหรือไม่
ความแตกต่างระหว่างการรวม-hตัวเลือกหรือไม่นั้นเล็กน้อยและไม่เกี่ยวข้องในกรณีนี้เนื่องจากคุณไม่สามารถปิด Pi ได้ แต่ไม่ต้องถอด USB ออกด้วยตนเอง
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
ฉันชอบ
sudo halt
ฉันจำไม่ได้ว่าทำไมฉันถึงเลือกสิ่งนี้ แต่ด้วยเหตุผลใดก็ตามคำสั่งอื่น ๆ ก็ทำให้เกิดปัญหา มันทำงานได้อย่างสมบูรณ์แบบ ในการรีบูต:
sudo restart
halt จาก runlevel 0 หรือ 6อาจทำให้ข้อมูลสูญหายได้ ในระดับการทำงานอื่น ๆ shutdown -h nowก็เทียบเท่ากับ
init 0เพื่อปิดเครื่องinit 6เพื่อเริ่มต้นใหม่
shutdown -h nowไม่รู้ตัวเลยว่าhaltเป็นอันตราย!
haltมันอาจจะทำให้เกิดการสูญเสียข้อมูล วิธีปฏิบัติที่ดีกว่าsudo sync;sync;haltนี้คือการประสานการจัดเก็บข้อมูล (เช่นฮาร์ดดิสก์การ์ด SD) กับข้อมูลแคชที่ยังไม่ได้เขียนยังคงอยู่ในหน่วยความจำก่อนที่จะหยุดระบบ