ทำไมไม่เรียกใช้“ sudo shutdown now” ปิดตัวลง


87

เมื่อฉันออกต่อไปนี้:

sudo shutdown now

..my เซิร์ฟเวอร์ Ubuntu 14.04 ที่ได้รับหน้าที่ใหม่ของฉันไม่ได้ปิดตัวลง มันหยุดด้วยข้อความต่อไปนี้:

* Stopping System V runlevel compatibility
Give root password for maintenance:
(or type Control-D to continue):

ถ้าฉันพิมพ์รหัสผ่านรูทเครื่องก็จะอยู่ที่นั่นในเชลล์พรอมต์



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

คำตอบ:


138

ตามเนื้อผ้าคำสั่งsudo shutdown nowจะนำคุณไปยังระดับ runlevel 1 (โหมดการกู้คืน); สิ่งนี้จะเกิดขึ้นสำหรับทั้งการเริ่มต้นและการเริ่ม SysV ที่จะได้รับสิ่งที่คุณต้องการคือการปิดเครื่องคอมพิวเตอร์ได้อย่างถูกต้องคุณจะต้องให้สลับไป-hshutdown

สิ่งหนึ่งที่ควรทราบที่นี่คือการhaltปิดกระบวนการทั้งหมดปิดซีพียูและคืนการควบคุมไปยังจอภาพ ROM ของเมนบอร์ดที่ต้องการให้ผู้ใช้กดปุ่มเปิดปิดเพื่อให้แหล่งจ่ายไฟถูกปิดขณะที่poweroffหลังจากปิดซีพียู จะเพียงแค่ปิดแหล่งจ่ายไฟทำให้การปิดที่เหมาะสม

การ-hสลับshutdownจะhaltหรือpoweroffคอมพิวเตอร์จะตัดสินใจโดยระบบแม้ว่าใน Ubuntu ฉันได้เห็นว่าปกติแล้วpoweroffเครื่องจะ เพื่อให้แน่ใจว่าการที่คุณสามารถใช้-Pสลับกับshutdownการpoweroffใช้คอมพิวเตอร์

เพื่อสรุปนี่คือคำสั่งที่มีให้poweroff( ไม่ใช่ halt ) คอมพิวเตอร์:

sudo shutdown -h now
sudo shutdown -P now
sudo poweroff
sudo halt -p
sudo init 0

poweroffและhaltคำสั่งเรียกโดยทั่วไปshutdown(ยกเว้นpoweroff -f) sudo poweroffและเหมือนกับsudo halt -p sudo shutdown -P nowคำสั่งsudo init 0จะนำคุณไปสู่ระดับ 0 ( ปิดเครื่อง )

ทีนี้ถ้าคุณต้องการปิดระบบแรงอย่างเช่นคุณไม่ต้องการให้กระบวนการปิดปกติ ในกรณีนี้คุณสามารถใช้:

sudo poweroff -f

shutdownนี้จะไม่ใช้ แต่จะเรียกใช้การเรียกของreboot(2)ระบบ (ใช้สำหรับการรีบูต, ปิดเครื่องและหยุด) เพื่อปิดเครื่องคอมพิวเตอร์ทันที


2
หรือรวมการปิดเครื่องตอนนี้กับ 'poweroff':sudo shutdown -P now
david6

3
คุณหมายถึงอะไรโดย "ปิดระบบอย่างมีประสิทธิภาพ"? ตามหน้าคน , -fตัวเลือกเพียงข้ามfsckในการรีบูต และตาม man page ของ Ubuntu ไม่มีทางเลือกดังกล่าวเลย
Ruslan

1
@Ruslan: อาจทำให้สับสนด้วยhalt -f/ poweroff -fซึ่งข้าม init และบอกเคอร์เนลโดยตรงเพื่อลดกำลังไฟ นั่นคือพลัง
grawity

1
แล็ปท็อปของฉันขอบคุณ! จริง ๆ แล้วฉันวางสายนี้และใช้ปุ่มเปิดปิดเสมอ แต่ตอนนี้ฉันรู้แล้ว! การหยุดทำให้ระบบของฉันเปิดอยู่ แต่ poweroff ปิดการใช้งานจริง ขอบคุณมาก! :-)
Terrance

1
@RGG ฉันขอแนะนำให้คุณเรียกใช้syncก่อนคำสั่งนี้เนื่องจากคำสั่งนี้จะข้ามสิ่งที่อาจยังอยู่ในแคช syncจะบังคับให้แคชเขียนไปยังดิสก์จากนั้นคุณสามารถปิดได้
Terrance

15

ฉันค่อนข้างมั่นใจว่าคำสั่งที่ถูกต้องจะต้องมีตัวเลือก "-h" (หยุด) ลองสิ่งนี้:

sudo shutdown -h now

6

มันเป็นมรดกตกทอดมาตั้งแต่สมัยที่เครื่องจักรทางกายภาพไม่สามารถปิดได้ด้วยตัวเอง ตัวอย่างเช่นคำสั่ง halt sudo haltจะยุติโปรแกรมทั้งหมดและยกเลิกการโหลดเกือบทุกอย่างจาก RAM พร้อมที่จะปิด อย่างไรก็ตามหากคุณเรียกใช้sudo halt -pมันจะทำทุกอย่างแล้วส่งสัญญาณให้ระบบปิดเครื่องหรือในกรณีของshutdownคำสั่งคุณจำเป็นต้องใช้-aตัวเลือกฉันเชื่อว่าแม้ว่าฉันจะใช้เป็นการส่วนตัวhaltก็ตาม


จะเกิดอะไรขึ้นถ้าฉันปิดพีซีโดยใช้คำสั่งนี้เสมอ
Nullpointer

-1

ฉันมักจะใช้ต่อไปนี้

sudo shutdown -a now

หรือจะรีบูททันทีหลังจากปิดเครื่อง

sudo shutdown -r now

เมื่อดูที่ตัวเลือกความช่วยเหลือในการปิดระบบจะไม่แสดงรายการ - เป็นคำสั่งที่เหมาะสม แต่ฉันอาจสาบานได้นานแล้ว - ถูกยกเลิกหรืออะไรทำนองนั้น อย่างไรก็ตามฉันใช้มันต่อไปและมันก็ใช้งานได้หลายปี แต่ดูเหมือนว่าการปิดระบบ -h ตอนนี้เป็นตัวเลือกที่ถูกต้อง


1
บางทีคุณอาจกำลังนึกถึงคำสั่ง Windows shutdown /aซึ่งยกเลิกการปิดระบบ (เทียบเท่ากับshutdown -cใน Ubuntu)
deltab

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