Linux

reboot , init 6 和 shutdown -r now 有什麼區別?

  • September 8, 2018

我只想知道 in 之間的區別

  • reboot
  • init 6
  • shutdown -r now

哪個是最安全和最好的?

它們沒有區別。在內部他們做同樣的事情:

  • reboot使用shutdown命令(使用 -r 開關)。關閉命令用於殺死所有正在執行的程序,解除安裝所有文件系統,最後告訴核心發出 ACPI 電源命令。來源可以在這裡找到。在較舊的發行版中,reboot 命令通過發出SIGKILL信號來強制程序退出(仍然可以在源中找到,可以使用-f選項呼叫),在最近的發行版中,它預設為更優雅和更友好的初始化init 1 -> shutdown -r。這可確保守護程序在關閉前自行清理。
  • init 6告訴init程序關閉所有在 init 文件中寫入的衍生程序/守護程序(以它們啟動的相反順序),最後呼叫shutdown -r now命令重新啟動機器

今天沒有太大區別,因為兩個命令的作用完全相同,並且它們尊重用於通過呼叫關閉腳本來啟動服務/守護程序的初始化腳本。reboot -f -r now下文所述的除外

從聯機幫助頁中有一個關於為什麼reboot -f不安全的小解釋:

-f,--強制
強制立即停止、關機、重啟。不要聯繫初始化系統。

編輯:

忘了提一下,在即將發布的 RHEL 發行版中,您應該使用新systemctl命令發出斷電/重啟。如手冊頁所述rebootshutdown它們是“僅用於兼容的遺留命令”。並且該systemctl方法將是唯一安全的方法。

引用自:https://unix.stackexchange.com/questions/64280