在linux里面關(guān)機(jī)會(huì)有幾個(gè)命令可以選擇,先來看看比較老版本的幾個(gè)命令。
1、shutdown
shutdown命令安全地將系統(tǒng)關(guān)機(jī)。shutdown執(zhí)行它的工作是送信號(hào)〔signal〕給init程序﹐要求它改變r(jià)unlevel。Runlevel 0被用來停機(jī)〔halt〕﹐runlevel 6是用來重新激活〔reboot〕系統(tǒng)。
例如:
關(guān)機(jī)命令:shutdown -h now
重啟命令:shutdown -r now
2、halt
halt 立刻關(guān)機(jī) 相當(dāng)于shutdown -h now,其實(shí)halt就是調(diào)用shutdown -h。halt執(zhí)行時(shí)﹐殺死應(yīng)用進(jìn)程﹐執(zhí)行sync系統(tǒng)調(diào)用﹐文件系統(tǒng)寫操作完成后就會(huì)停止內(nèi)核。但是這樣子只停止了操作系統(tǒng),電源還在工作。
3、poweroff
poweroff會(huì)先關(guān)閉系統(tǒng),然后會(huì)發(fā)送一個(gè)關(guān)閉電源的信號(hào)給acpi。
4、init
init是所有進(jìn)程的祖先﹐它的進(jìn)程號(hào)始終為1﹐所以發(fā)送TERM信號(hào)給init會(huì)終止所有的用戶進(jìn)程﹑守護(hù)進(jìn)程等。
init是切換執(zhí)行等級(jí)的命令。linux共有7種執(zhí)行等級(jí),比較重要的是下面4種等級(jí):
-
run level 0:關(guān)機(jī)
-
run level 3:純命令行模式
-
run level 5:含有圖形界面模式
-
run level 6:重啟
5、reboot
reboot的工作過程差不多跟halt一樣。不過它是引發(fā)主機(jī)重啟,而halt是關(guān)機(jī)。
現(xiàn)在
現(xiàn)在新的發(fā)行版本是使用上了systemd,這些命令都是軟連接到了systemctl或者systemd,意味著現(xiàn)在關(guān)機(jī)及電源管理,都是systemd接管了,所以這些命令都是一樣的。
systemctl [指令]
-
halt 進(jìn)入系統(tǒng)停止的模式,屏幕可能會(huì)保留一些訊息,這與你的電源管理模式有關(guān)
-
poweroff 進(jìn)入系統(tǒng)關(guān)機(jī)模式,直接關(guān)機(jī)沒有提供電力喔!
-
reboot 直接重新啟動(dòng)
-
suspend 進(jìn)入休眠模式