在linux命令中reboot是重新啟動,shutdown -r now是立即停止然后重新啟動,都說他們兩個是一樣的,其實是有一定的區別的。
shutdown命令可以安全地關閉或重啟Linux系統,它在系統關閉之前給系統上的所有登錄用戶提示一條警告信息。該命令還允許用戶指定一個時間參數,可以是一個精確的時間,也可以是從現在開始的一個時間段。
精確時間的格式是hh:mm,表示小時和分鐘,時間段由+ 和分鐘數表示。系統執行該命令后會自動進行數據同步的工作。
該命令的一般格式: shutdown [選項] [時間] [警告信息]
命令中各選項的含義為:
- k 并不真正關機而只是發出警告信息給所有用戶
- r 關機后立即重新啟動
- h 關機后不重新啟動
- f 快速關機重啟動時跳過fsck
- n 快速關機不經過init 程序
- c 取消一個已經運行的shutdown
需要特別說明的是該命令只能由超級用戶使用。
例1,系統在十分鐘后關機并且馬上重新啟動: # shutdown –r +10
例2,系統馬上關機并且不重新啟動:# shutdown –h now
halt是最簡單的關機命令,其實際上是調用shutdown -h命令。halt執行時,殺死應用進程,文件系統寫操作完成后就會停止內核。
halt命令的部分參數如下:
[-f] 沒有調用shutdown而強制關機或重啟
[-i] 關機或重新啟動之前,關掉所有的網絡接口
[-p] 關機時調用poweroff,此選項為缺省選項
reboot的工作過程與halt類似,其作用是重新啟動,而halt是關機。其參數也與halt類似。reboot命令重啟動系統時是刪除所有的進程,而不是平穩地終止它們。因此,使用reboot命令可以快速地關閉系統,但如果還有其它用戶在該系統上工作時,就會引起數據的丟失。所以使用reboot命令的場合主要是在單用戶模式。
init是所有進程的祖先,其進程號始終為1。init用于切換系統的運行級別,切換的工作是立即完成的。init 0命令用于立即將系統運行級別切換為0,即關機;init 6命令用于將系統運行級別切換為6,即重新啟動