隨筆 - 64  文章 - 9  trackbacks - 0
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(6)

          我參與的團隊

          隨筆分類(88)

          隨筆檔案(92)

          文章分類(142)

          文章檔案(182)

          天基成員

          學習園

          我的海角

          搜索

          •  

          積分與排名

          • 積分 - 183418
          • 排名 - 319

          最新評論


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

          2.halt----最簡單的關機命令
          其實halt就是調用shutdown -h。halt執(zhí)行時﹐殺死應用進程﹐執(zhí)行sync系統(tǒng)調用﹐
          文件系統(tǒng)寫操作完成后就會停止內核。
          參數(shù)說明:
          [-n] 防止sync系統(tǒng)調用﹐它用在用fsck修補根分區(qū)之后﹐以阻止內核用老版本的超
          級塊〔superblock〕覆蓋修補過的超級塊。
          [-w] 并不是真正的重啟或關機﹐只是寫wtmp〔/var/log/wtmp〕紀錄。
          [-d] 不寫wtmp紀錄〔已包含在選項[-n]中〕。
          [-f] 沒有調用shutdown而強制關機或重啟。
          [-i] 關機〔或重啟〕前﹐關掉所有的網(wǎng)絡接口。
          [-p] 該選項為缺省選項。就是關機時調用poweroff。
           
          3.reboot
              reboot的工作過程差不多跟halt一樣﹐不過它是引發(fā)主機重啟﹐而halt是關機。它
              的參數(shù)與halt相差不多。
          4.init
             init是所有進程的祖先﹐它的進程號始終為1﹐所以發(fā)送TERM信號給init會終止所有的
             用戶進程﹑守護進程等。shutdown 就是使用這種機制。init定義了8個運行級別(runlevel),
             init 0為關機﹐init 1為重啟。關于init可以長篇大論﹐這里就不再敘述。另外還有
             telinit命令可以改變init的運行級別﹐比如﹐telinit -iS可使系統(tǒng)進入單用戶模式﹐
             并且得不到使用shutdown時的信息和等待時間 
           
          posted on 2009-10-19 09:10 鵬凌 閱讀(300) 評論(0)  編輯  收藏 所屬分類: linux
          主站蜘蛛池模板: 兴仁县| 苍梧县| 云浮市| 蒙城县| 汽车| 修水县| 奉新县| 石景山区| 南城县| 合肥市| 砀山县| 崇仁县| 北辰区| 麦盖提县| 平安县| 儋州市| 古蔺县| 邹城市| 凌源市| 新营市| 巫溪县| 长宁县| 磐安县| 稷山县| 开封县| 永嘉县| 轮台县| 泰兴市| 景宁| 松滋市| 贡山| 蛟河市| 福清市| 汝阳县| 乐昌市| 上思县| 宣恩县| 巨野县| 东源县| 甘洛县| 崇左市|