linux-你是怎麼關機的?
前言
在Linux裡面關機會有幾個命令可以選擇,先來看看比較老版本的幾個命令。
shutdown
shutdown命令安全地將系統關機。shutdown執行它的工作是送信號〔signal〕給init程序﹐要求它改變runlevel。Runlevel 0被用來停機〔halt〕﹐runlevel 6是用來重新激活〔reboot〕系統。
例如:
關機命令:shutdown -h now
重啟命令:shutdown -r now
halt
halt 立刻關機 相當於shutdown -h now,其實halt就是調用shutdown -h。halt執行時﹐殺死應用進程﹐執行sync系統調用﹐文件系統寫操作完成後就會停止內核。但是這樣子只停止了操作系統,電源還在工作。
poweroff
poweroff會先關閉系統,然後會發送一個關閉電源的信號給acpi。
init
init是所有進程的祖先﹐它的進程號始終為1﹐所以發送TERM信號給init會終止所有的用戶進程﹑守護進程等。
init是切換執行等級的命令。Linux共有7種執行等級,比較重要的是下面4種等級:
run level 0:關機
run level 3:純命令行模式
run level 5:含有圖形界面模式
run level 6:重啟
reboot
reboot的工作過程差不多跟halt一樣。不過它是引發主機重啟,而halt是關機。
現在
現在新的發行版本是使用上了systemd,這些命令都是軟連接到了systemctl或者systemd,意味著現在關機及電源管理,都是systemd接管了,所以這些命令都是一樣的。
systemctl [指令]
halt 進入系統停止的模式,屏幕可能會保留一些訊息,這與你的電源管理模式有關
poweroff 進入系統關機模式,直接關機沒有提供電力喔!
reboot 直接重新啟動
suspend 進入休眠模式
TAG:運維小菜 |