linux中關機命令的區(qū)別是:執(zhí)行shutdown命令時,系統(tǒng)會通知所有登錄的用戶系統(tǒng)將要關閉;執(zhí)行halt命令時,文件系統(tǒng)寫操作完成后,內(nèi)核停止;init命令用于切換系統(tǒng)的運行級別,【init 0】表示關機。
Linux中的關機命令有shutdown、halt和init,它們都可以達到關機的目的,但是每個命令的內(nèi)部工作過程是不同的,下面我們來分別介紹一下:
(推薦學習:linux教程)
1、shutdown
shutdown命令用于安全地關閉Linux系統(tǒng)。
由于Linux與Windows不同,其后臺運行著許多進程,所以強制關機可能會導致進程的數(shù)據(jù)丟失,使系統(tǒng)處于不穩(wěn)定的狀態(tài),甚至會損壞硬件設備。
執(zhí)行shutdown命令時,系統(tǒng)會通知所有登錄的用戶系統(tǒng)將要關閉,并且login指令會被凍結,即新的用戶不能再登錄系統(tǒng)。
shutdown命令的工作實質是給init程序發(fā)送信號(signal),要求其切換系統(tǒng)的運行級別(Runlevel)。
系統(tǒng)的運行級別包括:
-
0:關閉系統(tǒng)
-
1:單用戶模式,如果沒有為shutdown命令指定-h或-r參數(shù)而直接執(zhí)行,則默認將切換到此運行級別
-
2:多用戶模式(不支持NFS)
-
3:多用戶模式(支持NFS),一般常用此種運行級別
-
5:多用戶模式(GUI模式)
-
6:重新啟動系統(tǒng)
2、halt
halt是最簡單的關機命令,其實際上是調(diào)用shutdown -h命令。halt執(zhí)行時,殺死應用進程,文件系統(tǒng)寫操作完成后就會停止內(nèi)核。
halt命令的部分參數(shù)如下:
-
[-f] 沒有調(diào)用shutdown而強制關機或重啟
-
[-i] 關機或重新啟動之前,關掉所有的網(wǎng)絡接口
-
[-p] 關機時調(diào)用poweroff,此選項為缺省選項
3、init
init是所有進程的祖先,其進程號始終為1。
init用于切換系統(tǒng)的運行級別,切換的工作是立即完成的。
init 0命令用于立即將系統(tǒng)運行級別切換為0,即關機;init 6命令用于將系統(tǒng)運行級別切換為6,即重新啟動。