shutdown
ฉันไม่ได้พบคำตอบที่ชัดเจนให้กับความแตกต่างระหว่างสองตัวเลือกคำสั่ง
เป็นhalt
เช่นเดียวกับshutdown -H
และpoweroff
เช่นเดียวกับshutdown -P
?
shutdown
ฉันไม่ได้พบคำตอบที่ชัดเจนให้กับความแตกต่างระหว่างสองตัวเลือกคำสั่ง
เป็นhalt
เช่นเดียวกับshutdown -H
และpoweroff
เช่นเดียวกับshutdown -P
?
คำตอบ:
มันค่อนข้างประวัติศาสตร์
halt
ถูกใช้ก่อน ACPI (ซึ่งวันนี้จะปิดไฟสำหรับคุณ) * มันจะหยุดระบบแล้วพิมพ์ข้อความไปที่เอฟเฟกต์ของ "ไม่เป็นไรที่จะปิดตอนนี้" เมื่อก่อนมีการเปิด / ปิดสวิตช์แบบทางกายภาพแทนที่จะใช้ปุ่มเปิด / ปิดคอมโบ ACPI ซึ่งควบคุมด้วยคอมพิวเตอร์
poweroff
โดยธรรมชาติจะหยุดระบบแล้วโทร ACPI ปิด
* วันhalt
นี้ฉลาดพอที่จะโทรโดยอัตโนมัติpoweroff
หากเปิดใช้งาน ACPI ในความเป็นจริงพวกเขามีหน้าที่เทียบเท่าตอนนี้
/sbin/poweroff
เป็น symlink /sbin/halt
ไป
shutdown
ฉันกำลังพูดคุยเกี่ยวกับสองตัวเลือกคำสั่ง คำสั่งhalt
เหมือนกันshutdown -H
และสั่งpoweroff
เหมือนกันshutdown -P
ไหม? @phunehehe ด้วย
halt
เคยทำเช่นนั้น ไม่มีการปิดระบบอย่างเป็นระเบียบเพียงแค่หยุดสิ่งที่เครื่องทำอยู่ตอนนั้นและที่นั่น เป็นเรื่องปกติที่จะออกsync;sync;sync;halt
เพื่อให้แน่ใจว่าบัฟเฟอร์ทั้งหมดถูกเขียนลงดิสก์
พวกเขาไม่เหมือนกัน แต่มีความสัมพันธ์ใกล้ชิดมาก ในทางปฏิบัติหากคุณไม่ต้องการระบุเวลาใดเวลาหนึ่งที่จะปิดหรือจะบังคับทันทีมลทินรีบูต / หยุด / poweroff จริงๆมันไม่สำคัญว่าคุณเรียกใช้shutdown -h
หรือhalt
... หรือเทียบshutdown -r
reboot
สิ่งที่ไม่ได้สะดวกอย่างมากในอดีต แต่นี่เป็นวิธีการทำงานในขณะนี้ (โอกาสมากมายสำหรับความคลุมเครือหรือข้อผิดพลาดของผู้ใช้ถูกลบ / ปรับให้เรียบ)
/sbin/shutdown
ทำการ "ล้างข้อมูล" จำนวนมากเช่นการแจ้งเตือนผู้ใช้ปิดกั้นการเข้าสู่ระบบใหม่ในขณะที่ระบบปิด นอกจากนี้ยังสามารถบอกให้ปิดระบบในเวลาที่กำหนดหรือใน XX นาที - เตือนผู้ใช้ที่ลงชื่อเข้าใช้ทุกครั้งที่มีการปิดระบบ
นอกจากนี้ยังเปลี่ยน runlevel เป็น0
( halt
/ poweroff
) หรือ6
( reboot
) ซึ่งกระตุ้นให้ระบบหยุดบริการที่กำลังทำงาน, unmount ดิสก์ ฯลฯ เพื่อเตรียมพร้อมสำหรับการหยุดจริง, poweroff หรือรีบูต
เมื่อทุกสิ่งที่จะทำก็แล้วโทร/sbin/halt
, /sbin/reboot
หรือ/sbin/poweroff
( reboot
และpoweroff
มักจะ symlinks ไปhalt
ซึ่งตีความพวกเขาเป็นhalt -r
และhalt -P
ตามลำดับ)
อย่างไรก็ตามโปรดทราบว่าหากhalt
/ reboot
/ poweroff
ถูกเรียกเมื่อระบบไม่ได้อยู่ในระดับ runlevel มิ0
ฉะนั้น6
จะมีการเรียกshutdown
ให้ทำงานยกเว้นว่าจะใช้ตัวเลือก-f
หรือforce
(รายละเอียดของการตีความระดับการทำงานอาจแตกต่างจาก distro ไป distro แต่0
และ6
ใช้ตามที่อธิบายไว้ใน Debian และ Debian-Derivatives เช่น Ubuntu)
ดู man pages สำหรับshutdown
และhalt
สำหรับข้อมูลเพิ่มเติม
ในที่สุดความแตกต่างระหว่างhalt
และpoweroff
สถานะคือhalt
ทำทุกอย่างเพื่อปิดเครื่องจริง ๆ (บนฮาร์ดแวร์บางชนิดนี่หมายความว่ามันหยดลงใน ROM bootloader หรือคล้ายกันบนฮาร์ดแวร์พีซีส่วนใหญ่จะหยุดทำงาน) ในขณะที่poweroff
ทำขั้นตอนสุดท้ายและ ปิด reboot
แน่นอนเข้าสู่สถานะหยุดแล้วรีบูตคอมพิวเตอร์
BTW ค่าเริ่มต้นมักจะเป็นอย่างใดอย่างหนึ่งpoweroff
หรือreboot
แต่คุณสามารถใช้-H
เป็นอาร์กิวเมนต์shutdown
เพื่อให้หยุดแทน สิ่งนี้ไม่ได้มีประโยชน์มากในกล่อง linux บนเครื่อง PC (แต่มีประโยชน์บนเครื่องเช่นกล่อง sparc ที่มี monitor boot firmware เป็นไปได้ว่ามันอาจเป็นประโยชน์สำหรับเครื่องใหม่ที่มีบรรทัดคำสั่ง EFI)
shutdown
คำสั่งทั้งหมดที่มีความคิดในระดับการทำงาน shutdown
ส่วนใหญ่ไม่ได้เรียกhalt
/ reboot
/ poweroff
; แดกดันมันอยู่ในระบบที่ไม่ใช่ลินุกซ์ไม่กี่ที่นี้ได้รับภูมิปัญญายังคงเป็นจริงในวันนี้ และสถานที่ที่เชื่อมโยงสัญลักษณ์ชี้ไม่จำเป็นต้องhalt
; ไม่เพียงแค่นั้นในชุดเครื่องมือบางตัวพวกเขาไม่ใช่ลิงก์สัญลักษณ์เลย ดูunix.stackexchange.com/a/196471/5132สำหรับรายละเอียดเพิ่มเติม