Linux中常用的關機和重新啟動命令有shutdown、halt、reboot以及init,它們都可以達到關機和重新啟動的目的,但是每個命令的內部工作過程是不同的,下面將逐一進行介紹。
1、shutdown
shutdown命令用於關閉Linux系統。有些用戶會使用直接斷掉電源的方式來關閉Linux,這十分危險。因為Linux與不同,其後台運行著許多進程,所以強制關機可能會導致進程的數據丟失,使系統處於不穩定的狀態,甚至會損壞硬件設備。
執行shutdown命令時,系統會通知所有登錄的用戶系統將要關閉,並且login指令會被凍結,即新的用戶不能再登錄系統。使用shutdown命令可以直接關閉系統,也可以延遲指定的時間再關閉系統,還可以重新啟動。延遲指定的時間再關閉系統,可以讓用戶有時間儲存當前正在處理的文件和關閉已經打開的程序。
shutdown命令的部分參數如下:
shutdown命令的工作實質是給init程序發送信號(signal),要求其切換系統的運行級別(Runlevel)。系統的運行級別包括:
2、halt
halt是最簡單的關機命令,其實際上是調用shutdown -h命令。halt執行時,殺死應用進程,文件系統寫操作完成後就會停止內核。
halt命令的部分參數如下:
3、reboot
reboot的工作過程與halt類似,其作用是重新啟動,而halt是關機。其參數也與halt類似。
4、init
init是所有進程的祖先,其進程號始終為1。init用於切換系統的運行級別,切換的工作是立即完成的。init 0命令用於立即將系統運行級別切換為0,即關機;init 6命令用於將系統運行級別切換為6,即重新啟動。