在Linux下一些常用的關機/重啟命令有shutdown、halt、reboot、及init,它們都可以達到重啟系統的目的,但每個命令的內部工作過程是不同的,透過本文的介紹,希望你可以更靈活的運用各種關機指令。
1.shutdown
shutdown命令安全地將系統關機。 有些用戶會使用直接斷掉電源的方式來關閉linux,這是十分危險的。因為linux與windows不同,其後台運行著許多進程,所以強制關機可能會導致進程的資料遺失﹐使系統處於不穩定的狀態﹐甚至在有的系統中會損壞硬體設備。而在系統關機前使用shutdown指令﹐系統管理員會通知所有登入的使用者係統將會關閉。且login指令會被凍結﹐即新的使用者不能再登入。直接關機或延遲一定的時間才關機都是可能的﹐還可能重啟。這是由所有流程〔process〕都會收到系統所送達的訊號〔signal所決定的。這讓像vi之類的程式有時間儲存目前正在編輯的文檔﹐而像處理郵件〔mail〕和新聞〔news〕的程式則可以正常地離開等等。
shutdown執行它的工作是送信號〔signal〕給init程式﹐要求它改變runlevel。 Runlevel 0被用來停機〔halt〕﹐runlevel 6是用來重新激活〔reboot〕系統﹐而runlevel 1則是被用來讓系統進入管理工作可以進行的狀態﹔這是預設的﹐假定沒有-h也沒有-r參數給shutdown。要了解在停機〔halt〕或重新開機〔reboot〕過程中做了哪些動作﹐你可以在這個文件/etc/inittab裡看到這些runlevels相關的資料。
shutdown 參數說明:
[-t] 在改變到其它runlevel之前﹐告訴init多久以後關機。
[-r] 重啟計算器。
[-k] 不真正關機﹐只是送警告信號給每位登錄者〔login〕。
[-h] 關機後關閉電源〔halt〕。
[-n] 不用init﹐而是自己來關機。不鼓勵使用這個選項﹐而且這個選項所產生的後果往往不會總是你所預期得到的。
[-c] cancel current process取消目前正在執行的關機程序。所以這個選項當然沒有時間參數﹐但是可以輸入一個用來解釋的訊息﹐而這訊息將會送到每位使用者。
[-f] 在重啟計算器〔reboot〕時忽略fsck。
[-F] 在重啟計算器〔reboot〕時強迫fsck。
[-time] 設定關機〔shutdown〕前的時間。
更多靈活運用 詳細了解Linux系統中的關機指令相關文章請關注PHP中文網!