shutdown,halt,reboot,init(轉)
shutdown,halt,reboot,init(轉)[@more@]在linux下一些常用的關機/重啟命令有shutdown、halt、reboot、及init它們都可以達到重啟系統的目的,但每個命令的內部工作過程是不同的,透過本文的介紹,希望你可以更加靈活的運用各種關機命令。 1.shutdownshutdown命令安全地將系統關機。有些使用者會使用直接斷掉電源的方式來關閉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.rebootreboot的工作過程差不多跟halt一樣﹐不過它是引發主機重啟﹐而halt是關機。它的引數與halt相差不多。4.initinit是所有程式的祖先﹐它的程式號始終為1﹐所以傳送TERM訊號給init會終止所有的使用者程式﹑守護程式等。shutdown 就是使用這種機制。init定義了8個執行級別(runlevel),init 0為關機﹐init 1為重啟。關於init可以長篇大論﹐這裡就不再敘述。另外還有telinit命令可以改變init的執行級別﹐比如﹐telinit -iS可使系統進入單使用者模式﹐並且得不到使用shutdown時的資訊和等待時間。糾正一下 HALT 命令相當於 SHUTDOWN -H NOW後邊這個NOW 可以替換成關機時間的引數糾正一下,關於initinit 1不是reboot,而是單使用者,init 6才是重啟,cloud天天用init 0關機,用init 6重啟,這個應該還是沒有記錯的。inittab檔案裡似乎是這麼寫的。0 Halt1 Single user2 multi user without network3 Multi user4 unuse5 X116 Reboot所說的8個,是加上S,s。cloud不知道執行級別S,s和runlevel 1有什麼區別,哪位可以指教一下
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-940083/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Boot, Init和Shutdown 過程的描述(轉)boot
- reboot和init 6之間的區別boot
- centos6.5下關於shutdown-r和rebootCentOSboot
- Linux系統 init 6 重啟不了,reboot -n 卻可以重新啟動Linuxboot
- Linux 指令篇:起始管理--shutdown(轉)Linux
- (轉)Linux init詳解Linux
- Linux init詳解(轉)Linux
- AIX系統慎用rebootAIboot
- linux給一個普通使用者reboot許可權(轉)Linuxboot
- 讓Linux給一個普通使用者reboot許可權(轉)Linuxboot
- Reboot Restore Rx Pro中文版bootREST
- 不安全的reboot啟動boot
- Server shutdown in progressServer
- Oracle shutdown and startupOracle
- Slackware的啟動(init)過程(轉)
- Linux 執行級init詳解(轉)Linux
- [轉載]Oracle等待事件Data file init writeOracle事件
- 程式流程的控制 Abort Exit Halt RunError Continue Break SleepError
- Init
- linux怎麼給一個普通使用者reboot許可權?(轉)Linuxboot
- 【Linux學習筆記】reboot命令Linux筆記boot
- AIX系統謹慎使用reboot命令AIboot
- 關閉資料庫遇到SHUTDOWN: Active processes prevent shutdown operation資料庫
- init sys
- 【轉】Linux初始化init系統[sysvinitsystemdupstart]Linux
- db支援共享模式連線的話shutdown通常會很慢(dispatcher shutdown)模式
- shutdown immediate alert出現SHUTDOWN: waiting for active calls to complete.AI
- 為ExecutorService增加shutdown hookHook
- zt_Resolving Shutdown Immediate Hang Situations_shutdown immediate關庫慢
- 【Android】【init】解析init程式啟動過程Android
- OHASD not Starting After Reboot on SLES (Doc ID 1325718.1)boot
- python的__init__幾種方法總結【轉載】Python
- 轉eygle大師_wait event_db file init writeAI
- 總結INIT :Id "2" respawing too fast :disable for 5(轉)AST
- 用紅帽子的chkconfig管理Init指令碼(轉)指令碼
- git init 命令Git
- ora_init
- __init__.py