標籤:a 檔案 使用 資料 工作 linux
如果你很急著關機或者重啟話,那麼關機就是init 0,重啟就是init 6或者reboot
Linux中常用的關機和重新啟動命令有shutdown、halt、reboot以及init,它們都可以達到關機和重新啟動的目的,但是每個命令的內部工作過程是不同的,下面將逐一進行介紹。
1. shutdown
shutdown命令用於安全關閉Linux系統。有些使用者會使用直接斷掉電源的方式來關閉Linux,這是十分危險的。因為Linux與Windows不同,其後台運行著許多進程,所以強制關機可能會導致進程的資料丟失,使系統處於不穩定的狀態,甚至會損壞硬體裝置。
執 行shutdown命令時,系統會通知所有登入的使用者系統將要關閉,並且login指令會被凍結,即新的使用者不能再登入系統。使用shutdown命令可 以直接關閉系統,也可以延遲指定的時間再關閉系統,還可以重新啟動。延遲指定的時間再關閉系統,可以讓使用者有時間儲存當前正在處理的檔案和關閉已經開啟的 程式。
shutdown命令的部分參數如下:
[-t] 指定在多長時間之後關閉系統
[-r] 重啟系統
[-k] 並不真正關機,只是給每個登入使用者發送警告訊號
[-h] 關閉系統(halt)
shutdown命令的工作實質是給init程式發送訊號(signal),要求其切換系統的運行層級(Runlevel)。系統的運行層級包括:
0:關閉系統
1:單一使用者模式,如果沒有為shutdown命令指定-h或-r參數而直接執行,則預設將切換到此運行層級
2:多使用者模式(不支援NFS)
3:多使用者模式(支援NFS),一般常用此種運行層級
5:多使用者模式(GUI模式)
6:重新啟動系統
2. halt
halt是最簡單的關機命令,其實際上是調用shutdown -h命令。halt執行時,殺死應用進程,檔案系統寫操作完成後就會停止核心。
halt命令的部分參數如下:
[-f] 沒有調用shutdown而強制關機或重啟
[-i] 關機或重新啟動之前,關掉所有的網路介面
[-p] 關機時調用poweroff,此選項為預設選項
3.reboot
reboot的工作過程與halt類似,其作用是重新啟動,而halt是關機。其參數也與halt類似。
4.init
init是所有進程的祖先,其進程號始終為1。init用於切換系統的運行層級,切換的工作是立即完成的。init 0命令用於立即將系統運行層級切換為0,即關機;init 6命令用於將系統運行層級切換為6,即重新啟動。