Linux的幾個關機命令和區別

2021-12-30 12:58:09 字數 2032 閱讀 5805

最近客戶的一台suse 10的機器一直無法重啟,一直卡在重啟介面上.用init 0 ,shutdown -h now都不行. 最後用halt 竟然又可以正常關機了. 

在linux下一些常用的關機/重啟命令有shutdown、halt、reboot、及init,它們都可以達到重啟系統的目的,但每個命令的內部工作過程是不同的,通過本文的介紹,希望你可以更加靈活的運用各種關機命令。 

1.shutdown 

www.2cto.com  

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多久以後關機。 

www.2cto.com  

[-r] 重啟計算器。 

[-k] 並不真正關機﹐只是送警告訊號給每位登入者〔login〕。 

[-h] 關機後關閉電源〔halt〕。 

[-n] 不用init﹐而是自己來關機。不鼓勵使用這個選項﹐而且該選項所產生的後果往往不總是你所預期得到的。 

[-c] cancel current process取消目前正在執行的關機程式。所以這個選項當然沒有時間引數﹐但是可以輸入乙個用來解釋的訊息﹐而這資訊將會送到每位使用者。 

[-f] 在重啟計算器〔reboot〕時忽略fsck。 

[-f] 在重啟計算器〔reboot〕時強迫fsck。 

[-time] 設定關機〔shutdown〕前的時間。 

2.halt—-最簡單的關機命令 

其實halt就是呼叫shutdown -h。halt執行時﹐殺死應用程序﹐執行sync系統呼叫﹐檔案系統寫操作完成後就會停止核心。 

引數說明: 

[-n] 防止sync系統呼叫﹐它用在用fsck修補根分割槽之後﹐以阻止核心用老版本的超級塊〔superblock〕覆蓋修補過的超級塊。 

[-w] 並不是真正的重啟或關機﹐只是寫wtmp〔/var/log/wtmp〕紀錄。 

[-d] 不寫wtmp紀錄〔已包含在選項[-n]中〕。 

[-f] 沒有呼叫shutdown而強制關機或重啟。 

www.2cto.com  

[-i] 關機〔或重啟〕前﹐關掉所有的網路介面。 

[-p] 該選項為預設選項。就是關機時呼叫poweroff。 

3.reboot 

reboot的工作過程差不多跟halt一樣﹐不過它是引發主機重啟﹐而halt是關機。它的引數與halt相差不多。 

4.init 

init是所有程序的祖先﹐它的程序號始終為1﹐所以傳送term訊號給init會終止所有的使用者程序﹑守護程序等。shutdown就是使用這種機制。init定義了8個執行級別(runlevel),init 0為關機﹐init1為重啟。關於init可以長篇大論﹐這裡就不再敘述。另外還有telinit命令可以改變init的執行級別﹐比如﹐telinit -is可使系統進入單使用者模式﹐並且得不到使用shutdown時的資訊和等待時間。  

作者 snailwong

linux常用關機命令及區別

在linux下一些常用的關機 重啟命令有shutdown halt reboot 及init,它們都可以達到重啟系統的目的,但每個命令的內部工作過程是不同的,通過本文的介紹,希望你可以更加靈活的運用各種關機命令.在linux下一些常用的關機 重啟命令有shutdown halt reboot 及in...

linux命令 關機和重啟命令

關機和重啟操作只有管理員可以執行!shutdown h now 立刻馬上關機 shutdown h 6060分鐘後關機 shutdown h 10 10分鐘後關機 注意 關機之前先將資料同步寫入硬碟 sync reboot 重啟系統 shutdown r now 立刻重啟 shutdown r 30...

Linux關機和重啟的命令

如果你很急著關機或者重啟話,那麼關機就是init 0,重啟就是init 6或者reboot linux中常用的關機和重新啟動命令有shutdown halt reboot以及init,它們都可以達到關機和重新啟動的目的,但是每個命令的內部工作過程是不同的,下面將逐一進行介紹。1.shutdown s...