Linux的幾種關機命令---轉自百度Linux再開發吧

Linux關機命令詳解

 在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〕前的時間。  
       
2.halt----最簡單的關機命令  
   其實halt就是調用shutdown -h。halt執行時,殺死應用進程,執行sync系統調用,文件系統寫操作完成後就會停止內核。  
   參數說明:  
   [-n] 防止sync系統調用,它用在用fsck修補根分區之後,以阻止內核用老版本的超級塊〔superblock〕覆蓋修補過的超級塊。  
   [-w] 並不是真正的重啓或關機,只是寫wtmp〔/var/log/wtmp〕紀錄。  
   [-d] 不寫wtmp紀錄〔已包含在選項[-n]中〕。  
   [-f] 沒有調用shutdown而強制關機或重啓。  
   [-i] 關機〔或重啓〕前,關掉所有的網絡接口。  
   [-p] 該選項爲缺省選項。就是關機時調用poweroff。  
    
3.reboot  
  reboot的工作過程差不多跟halt一樣,不過它是引發主機重啓,而halt是關機。它 的參數與halt相差不多。  
4.init  
  init是所有進程的祖先,它的進程號始終爲1,所以發送TERM信號給init會終止所有的  用戶進程、守護進程等。shutdown 就是使用這種機制。init定義了8個運行級別(runlevel),  init 0爲關機,init 1爲重啓。關於init可以長篇大論,這裏就不再敘述。另外還有  
  telinit命令可以改變init的運行級別,比如,telinit -iS可使系統進入單用戶模式,  並且得不到使用shutdown時的信息和等待時間。  
5.poweroff--部分泛UNIX/LINUX系統才支持,紅旗LINUX亦適用。

 

 

轉載百度貼吧 Linux再開發 吧

發佈了30 篇原創文章 · 獲贊 0 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章