1. 程式人生 > >shutdown、halt、reboot poweroff以及init的介紹。

shutdown、halt、reboot poweroff以及init的介紹。

shutdown、halt、reboot以及init,poweroff  它們都可以達到關機和重新啟動的目的,但是每個命令的內部工作過程是不同的,下面將逐一進行介紹。  一、shutdown  shutdown命令用於安全關閉Linux系統。有些使用者會使用直接斷掉電源的方式來關閉Linux,這是十分危險的。因為Linux與Windows 不同,其後臺執行著許多程序,所以強制關機可能會導致程序的資料丟失,使系統處於不穩定的狀態,甚至會損壞硬體裝置。   執行shutdown命令時,系統會通知所有登入的使用者系統將要關閉,並且login指令會被凍結,即新的使用者不能再登入系統。使用shutdown命令 可以直接關閉系統,也可以延遲指定的時間再關閉系統,還可以重新啟動。延遲指定的時間再關閉系統,可以讓使用者有時間儲存當前正在處理的檔案和關閉已經開啟 的程式。  

Poeroff : 切斷系統電源 poweroff就是halt的軟連結而已。執行的還是halt命令。關於halt 命令,可以這樣理解:halt就是呼叫shutdown -h。halt執行時﹐殺死應用程序﹐執行sync系統呼叫﹐檔案系統寫操作完成後就會停止核心。 shutdown命令的部分引數如下:   [-t] 指定在多長時間之後關閉系統   [-r] 重啟系統  [-k] 並不真正關機,只是給每個登入使用者傳送警告訊號   [-h] 關閉系統(halt)   shutdown命令的工作實質是給init程式傳送訊號(signal),要求其切換系統的執行級別(Runlevel)。系統的執行級別包括:  0:關閉系統   1:單使用者模式,如果沒有為shutdown命令指定-h或-r引數而直接執行,則預設將切換到此執行級別

2:多使用者模式(不支援NFS)   3:多使用者模式(支援NFS),一般常用此種執行級別  5:多使用者模式(GUI模式)   6:重新啟動系統    二、halt  halt是最簡單的關機命令,其實際上是呼叫shutdown -h命令。halt執行時,殺死應用程序,檔案系統寫操作完成後就會停止核心。   halt命令的部分引數如下:   [-f] 沒有呼叫shutdown而強制關機或重啟   [-i] 關機或重新啟動之前,關掉所有的網路介面    [-p] 關機時呼叫poweroff,此選項為預設選項  三、reboot  reboot的工作過程與halt類似,其作用是重新啟動,而halt是關機。其引數也與halt類似。  四、init  init是所有程序的祖先,其程序號始終為1。init用於切換系統的執行級別,切換的工作是立即完成的。init 0命令用於立即將系統執行級別切換為0,即關機;init 6命令用於將系統執行級別切換為6,即重新啟動