|
Linux系統(tǒng)關(guān)機過程
(2011-02-15 08:56)
最常用的Linux關(guān)機命令用init、shutdown、halt和reboot等。這些命令都可以達到關(guān)機重啟的目的,但是每個命令的內(nèi)部工作過程是不同的。下面就詳細了解Linux安全關(guān)機的過程。
1.shutdown命令
使用shutdown命令可以安全地關(guān)閉Linux系統(tǒng),有些Linux初學者會使用直接關(guān)閉電源的方式來關(guān)閉Linux,真是十分危險的,因為
Linux與Windows不同,在Linux后臺運行著很多進程,這些進程控制著Linux對系統(tǒng)的各種操作,如果強制關(guān)機,可能會造成進程的混亂以致
丟失數(shù)據(jù)。如果在系統(tǒng)工作負荷很高的情況下突然斷電,不但會丟失數(shù)據(jù),甚至會損壞硬件設(shè)備。
shutdown命令是用shell編寫的程序,必須由超級用戶才能執(zhí)行。shutdown命令執(zhí)行后,會以廣播的形式通知正在系統(tǒng)中工作的所有用戶,系
統(tǒng)將在指定的時間內(nèi)關(guān)閉。請保存文件,停止作業(yè),注銷用戶。此時login指令被凍結(jié),新的用戶不能登錄。當所有的用戶從系統(tǒng)中注銷或者指定時間已到
時,shutdown就發(fā)送信號給init程序,要求init程序改變系統(tǒng)運行級別。接著,init程序根據(jù)shutdown指令傳遞過來的參數(shù),相應地
改變運行級。例如,shutdown指定的參數(shù)是關(guān)機命令的話,init程序就執(zhí)行init
0進行關(guān)機;如果shutdown指定的參數(shù)是要重啟系統(tǒng),init程序就執(zhí)行init 6進行系統(tǒng)重啟。
(1)shutdown命令的詳細語法如下:
shutdown [-fFhknc(參數(shù)名稱)] [-t秒數(shù)] 時間 [警告信息]
各參數(shù)含義如下。
(2)應用舉例
要立即關(guān)機重啟:shutdown -r now 要立即關(guān)機: shutdown -h now 設(shè)定5分鐘后關(guān)機,同時發(fā)出警告信息給登錄用戶: shutdown +5 "System will shutdown after 5 minutes" 2.halt命令 halt是最簡單的關(guān)機命令,相當于“shutdown -h”組合。halt'執(zhí)行時,將殺死所有應用程序,然后調(diào)用系統(tǒng)指令sync。sync將所有內(nèi)存信息通過文件系統(tǒng)寫入硬盤,然后停止內(nèi)核。 halt語法格式如下: halt [-finp] halt指令在執(zhí)行時,會首先檢測系統(tǒng)的運行級別,如果運行級為0或6,則立即關(guān)閉系統(tǒng),否則調(diào)用shutdown來關(guān)閉系統(tǒng)。參數(shù)含義如下:
3.reboot命令 reboot命令的執(zhí)行過程與halt基本類似,不同的是halt是用于關(guān)機,而reboot是關(guān)機后引發(fā)系統(tǒng)重啟。 4.init命令 init進程是所有進程的鼻祖,其進程號始終為1。init程序主要用于系統(tǒng)不用運行級之間的切換,切換的工作室立即完成的。例如,init 0就是將系統(tǒng)運行級切換到0,也就是關(guān)機;init 6命令用于將系統(tǒng)運行級切換到6,也就是重啟系統(tǒng)。 |
|
|