新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > halt poweroff reboot問題

        halt poweroff reboot問題

        作者: 時間:2007-05-18 來源:網絡 收藏

        這里轉帖一篇文章,我覺得這篇文章寫得很清楚了,希望你以后多多用google

        Linux關機命令詳解

        本文出自:LinuxAid.com.cn 作者: sword_martin (2002-01-30 21:03:06)
        在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時的信息和等待時間。

        本文引用地址:http://www.104case.com/article/258131.htm


        關鍵詞: Linuxshell

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 大厂| 灵寿县| 井冈山市| 辽中县| 普兰店市| 龙陵县| 安阳市| 武山县| 吉水县| 永城市| 澄迈县| 伊川县| 樟树市| 延吉市| 新河县| 永靖县| 田林县| 上犹县| 凉城县| 平遥县| 曲水县| 宁阳县| 调兵山市| 武威市| 营口市| 乐昌市| 高碑店市| 合江县| 天津市| 简阳市| 汉沽区| 义马市| 绥阳县| 历史| 德清县| 从化市| 始兴县| 临清市| 乐安县| 井冈山市| 方城县|