เทอร์มินัลทางที่เหมาะสมในการปิดระบบคืออะไร?


37

ฉันพยายามปิดคอมพิวเตอร์ผ่าน SSH ฉันทำ

sudo shutdown now

ผู้ใช้ล็อกเอาต์และอูบุนตูเริ่มทำการปิด แต่มันจะแข็งที่หน้าจอสุดท้ายด้วยโลโก้อูบุนตูและจุดโหลด แนวคิดใดที่อาจเป็นปัญหา?

นอกจากนี้ความแตกต่างระหว่างshutdownและhaltคืออะไร? มีคำสั่งอะไรที่คล้ายกันอีกบ้าง?


มันใช้งานได้ถ้าคุณใช้ "sudo shutdown -P now"?
Eliah Kagan

หรือ sudo shutdown -h now
rigged

+1 สำหรับคำถาม ฉันเพิ่งมีปัญหาเดียวกันนี้
boehj

btw: นี่ (ยัง) ใช้งานได้จากเทอร์มินัลttyทั้งหมด (อื่น ๆ ) :-)
nutty about natty

คำตอบ:


36

จากหน้า MAN:

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

Halt - "โปรแกรมเหล่านี้อนุญาตให้ผู้ดูแลระบบรีบูตหยุดทำงานหรือปิดระบบ"

ความแตกต่างคือหยุดได้ "รุนแรง" มากกว่าเมื่อปิดตัวเอง มีพารามิเตอร์เกินกว่าที่จะบังคับให้ระบบปิดอย่างแท้จริงโดยไม่เกี่ยวข้องกับบริการหรือโปรแกรมที่เปิดอยู่ หากคุณเรียกใช้หยุดโดยไม่มีพารามิเตอร์ใด ๆ ก็จะดำเนินการคำสั่งปิด บางอย่างเหมือนนามแฝง หากคุณเรียกใช้ตัวอย่างด้วยพารามิเตอร์--forceมันจะ "บังคับ" ระบบในการรีบูตอย่างรวดเร็วจริง ๆ

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

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

โดยที่ในใจมีหลายวิธีในการรีบูตหรือปิดระบบ:

รีบูท - shutdown -r,reboot

shutdown -rในกรณีนี้เป็นเพียงการรีบูตโทร

ปิด - halt, shutdown, sudo init 0, shutdown -h now,poweroff

ในกรณีpoweroffนี้เหมือนกับการโทรshutdown -P

ตามที่คุณสังเกตเห็นshutdownคำสั่งสามารถทำสิ่งต่าง ๆ มากมายนี่คือรายการเล็ก ๆ ของมัน:

-r  Requests that the system be rebooted after it has been brought down
-h  Requests that the system be either halted or powered off after it has been brought down, with the choice as to which left up to the system
-H  Requests that the system be halted after it has been brought down
-P  Requests that the system be powered off after it has been brought down
-c  Cancels a running shutdown. TIME is not specified with this option, the first argument is MESSAGE
-k  Only send out the warning messages and disable logins, do not actually bring the system down

เช่นเดียวกับ reboot

-f, --force                 force reboot or halt, don't call shutdown(8)
-p, --poweroff              switch off the power when called as halt

อย่างไรก็ตามมีความแตกต่างระหว่างการปิดเครื่องผ่านทางเทอร์มินัลและคลิกที่ตัวเลือกการปิดเครื่องใน Unity หลังจะถามผู้ใช้สำหรับการโต้ตอบกับงานที่ไม่ได้บันทึก (เช่น libreoffice, inkscape ... ) อดีตจะส่งสัญญาณไปยังกระบวนการทั้งหมดบอกให้ปิด ไม่จำเป็นต้องมีการโต้ตอบกับผู้ใช้ดังนั้นงานที่ไม่ได้บันทึกใด ๆ


2
แล้วทำไม Ubuntu จึงปิดตัวลงอย่างถูกต้องเมื่อใช้งานโดยใช้ปุ่มปิดในแถบด้านบน มันแตกต่างจากคำสั่งเทอร์มินัลอย่างไร? ทำไมถึงใช้งานได้และคำสั่งเทอร์มินัลไม่ได้? มันค่อนข้างจะแปลก ...
Richard Rodriguez

16
@RiMMER shutdownปิดระบบปฏิบัติการ แต่ไม่ได้ปิดเครื่องคอมพิวเตอร์ คุณต้องมีอาร์กิวเมนต์พิเศษเช่นshutdown -Pหรือโทรpoweroffแทน (พวกเขากำลังเดียวกัน.) รายการที่สมบูรณ์ของคำสั่งที่คล้ายกันคือreboot, halt, และpoweroff shutdown
jg-faustus

สำหรับกรณีของฉันแล็ปท็อปไม่เคยปิดด้วยปุ่มปิดภายในเอกภาพหรือคำสั่งตัวเอง
Luis Alvarado

วางไข่จาก XMonad ได้อย่างไร ("M-S-k", spawn "sudo shutdown now -P")ไม่ทำงาน
Abdulsattar Mohammed

จะ 'ปิด -P' ยังทำงานจากtty1 (เพื่อปิด tty7 และปิดเครื่อง)?
บ้า ๆ บอ ๆ เกี่ยวกับ natty

7

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

sudo shutdown -P 20


1
ทำไมสิ่งนี้ถึงดีกว่าง่ายๆshutdown -P? แก้ไข : มันไม่สามารถรู้ว่าเมื่อฉันเป็นช่วงเวลาที่ดีในการ poweroff?
David Tabernero M.

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

2

อีกหนึ่งคำสั่งสำหรับระบบปิดคือ

sudo init 0

init 0 เรียกใช้สคริปต์การปิดทั้งหมดและปิดเครื่องของคุณโดยอัตโนมัติ


3
ฉันต้องการคำอธิบายเพิ่มเติมเล็กน้อยฉันคิดว่า
don.joey

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