ความแตกต่างระหว่าง“ หยุด” และ“ ปิดตอนนี้”?


30

Ubuntu หนึ่งใช้รีโมทsudo -S -p '' haltเพื่อปิดเครื่องและใช้งานไม่ได้จนถึงที่สุด เปิดจอมอนิเตอร์พร้อมข้อความ

ตอนนี้จะหยุด

[22225.11163] หยุด

ความแตกต่างระหว่างคืออะไรsudo -S -p " halt และsudo shutdown now?

คำตอบ:


41

-Sและ-pสวิทช์สำหรับการsudoไม่มีความสำคัญในกรณีนี้ นี่คือสิ่งที่พวกเขาทำตามลำดับ

-Sสวิทช์ที่ทำให้เกิดsudoการอ่านรหัสผ่านจาก STDIN นี้จะช่วยให้ยกตัวอย่างเช่นรหัสผ่านที่จะได้รับการประปาจะsudoผ่านหรือechocat

-pสวิตช์ช่วยให้คุณแทนที่รหัสผ่านเริ่มต้นที่รวดเร็วและใช้อย่างใดอย่างหนึ่งที่กำหนดเองหรือไม่มีเลย


sudoความแตกต่างที่สำคัญคือในคำสั่งที่สองถูกออกโดย

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

กระบวนการpoweroff,, shutdown -h nowและhalt -pคำสั่งทั้งหมดทำสิ่งhaltเดียวกับที่อยู่คนเดียวในขณะที่ส่งคำสั่ง ACPI ไปยังส่งสัญญาณให้หน่วยจ่ายไฟเพื่อตัดการเชื่อมต่อพลังงานหลัก สิ่งนี้ป้องกันไม่ให้คุณต้องกดปุ่มเปิด / ปิดเครื่องบนคอมพิวเตอร์ของคุณ


9
shutdown -h nowไม่จำเป็นต้องปิดเครื่องด้วยเช่นกัน ตามman shutdownมันขึ้นอยู่กับระบบ shutdown -H now(สังเกตแคปบนH) เป็นสิ่งที่รับประกันว่าเทียบเท่ากับhalt
MestreLion

11

haltไม่ใช่shutdownพวกเขาเป็นคำสั่งที่แตกต่างกัน อดีตไม่ได้ปิดไฟจนกว่า-pจะมีการใช้ตัวเลือก

จาก manual ( man halt): "-p, --poweroff: สั่งให้คำสั่ง halt แทนทำงานเป็น poweroff แทน"

และในกรณีของคุณ-pถูกไม่ได้นำมาใช้ในhaltคำสั่งด้วยเหตุนี้คอมพิวเตอร์ของคุณไม่ได้ปิด

อย่าสับสนกับ -p อันนี้จากsudoมันเป็นพารามิเตอร์ที่แตกต่างกันสำหรับคำสั่งที่แตกต่างกัน จากman sudo:

  • -S ตัวเลือก -S (stdin) ทำให้ sudo อ่านรหัสผ่านจากอินพุตมาตรฐานแทนอุปกรณ์ปลายทาง รหัสผ่านจะต้องตามด้วยอักขระขึ้นบรรทัดใหม่
  • -p prompt ตัวเลือก -p (พรอมต์) อนุญาตให้คุณแทนที่การแจ้งรหัสผ่านเริ่มต้นและใช้รหัสที่กำหนดเอง

ในกรณีของคุณpromptว่างเปล่า (ไม่มีข้อความแสดง sudo เมื่อถามรหัสผ่าน) และ -S ทำให้ sudo ยอมรับรหัสผ่านรูท vi stdin (ดังนั้นรหัสผ่านอาจถูกจัดหาโดยใช้ไพพ์และการเปลี่ยนเส้นทางจากคำสั่งอื่นแทนการพิมพ์)


7

มีคำตอบที่ดีที่ไซต์ Unix SEเกี่ยวshutdownกับhaltปัญหาvs : อะไรคือความแตกต่างระหว่างคำสั่ง Halt และ Shutdown?

สำหรับsudo -S -p ''ส่วนนี้จะเป็นการลบข้อความเกี่ยวกับการถามรหัสผ่านในเทอร์มินัล (คุณยังต้องใส่รหัสผ่านของคุณ)

ตัวอย่างเช่นการรันsudo <some_command>จะให้เอาต์พุตนี้ก่อนรันคำสั่งนี้:

[sudo] รหัสผ่านสำหรับ:

แต่การทำงานsudo -S -p '' <some_command>จะซ่อนข้อความนั้น

ในความเป็นจริงข้อความที่คุณใส่ในเครื่องหมายคำพูดคือการแทนที่ข้อความก่อนหน้า

ไปข้างหน้าและลองต่อไปนี้และดูความแตกต่าง:

 sudo -S -p 'Hey, I am a custom message.' ls

0

ไม่มีความแตกต่างระหว่างคำสั่ง halt และการปิดในแง่ของความตั้งใจของผู้ใช้ ความแตกต่างบางประการคือในการหยุดคุณต้องกดปุ่มเปิดปิดเครื่องเพื่อปิดระบบในขณะที่คำสั่งปิดเครื่องจะสั่งให้ Advanced Configuration Power Interface (ACPI) โดยอัตโนมัติเพื่อส่งสัญญาณไปยังหน่วยพลังงานเพื่อปิดระบบ

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