<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > init 進(jìn)程和inittab 引導(dǎo)指令

          init 進(jìn)程和inittab 引導(dǎo)指令

          作者: 時(shí)間:2016-11-22 來(lái)源:網(wǎng)絡(luò) 收藏
          init 進(jìn)程是系統(tǒng)所有進(jìn)程的起點(diǎn),內(nèi)核在完成內(nèi)核引導(dǎo)以后,即在本線程(進(jìn)程)空間內(nèi)加載init 程序,它的進(jìn)程號(hào)是1。init 程序讀取/etc/inittab 文件作為其行為指針,根據(jù)initab 描述文件的內(nèi)容建立相應(yīng)的進(jìn)程。initab 文件中描述了系統(tǒng)默認(rèn)的運(yùn)行級(jí)別,運(yùn)行rc 啟動(dòng)腳本,進(jìn)行用戶(hù)的登錄,X Window 登錄等工作。Initab 文件的主體部分如下:
          [plain]view plaincopy
          print?
          1. #Defaultrunlevel.TherunlevelsusedbyRHSare:
          2. #0-halt(DoNOTsetinitdefaulttothis)
          3. #1-Singleusermode
          4. #2-Multiuser,withoutNFS(Thesameas3,ifyoudonothavenetworking)
          5. #3-Fullmultiusermode
          6. #4-unused
          7. #5-X11
          8. #6-reboot(DoNOTsetinitdefaulttothis)
          9. #
          10. id:5:initdefault:
          11. #Systeminitialization.
          12. si::sysinit:/etc/rc.d/rc.sysinit
          13. l0:0:wait:/etc/rc.d/rc0
          14. l1:1:wait:/etc/rc.d/rc1
          15. l2:2:wait:/etc/rc.d/rc2
          16. l3:3:wait:/etc/rc.d/rc3
          17. l4:4:wait:/etc/rc.d/rc4
          18. l5:5:wait:/etc/rc.d/rc5
          19. l6:6:wait:/etc/rc.d/rc6
          20. #TrapCTRL-ALT-DELETE
          21. ca::ctrlaltdel:/sbin/shutdown-t3-rnow
          22. #WhenourUPStellsuspowerhasfailed,assumewehaveafewminutes
          23. #ofpowerleft.Scheduleashutdownfor2minutesfromnow.
          24. #Thisdoes,ofcourse,assumeyouhavepowerdinstalledandyour
          25. #UPSconnectedandworkingcorrectly.
          26. pf::powerfail:/sbin/shutdown-f-h+2"PowerFailure;SystemShuttingDown"
          27. #Ifpowerwasrestoredbeforetheshutdownkickedin,cancelit.
          28. pr:12345:powerokwait:/sbin/shutdown-c"PowerRestored;ShutdownCancelled"
          29. #Rungettysinstandardrunlevels
          30. 1:2345:respawn:/sbin/mingettytty1
          31. 2:2345:respawn:/sbin/mingettytty2
          32. 3:2345:respawn:/sbin/mingettytty3
          33. 4:2345:respawn:/sbin/mingettytty4
          34. 5:2345:respawn:/sbin/mingettytty5
          35. 6:2345:respawn:/sbin/mingettytty6
          36. #Runxdminrunlevel5
          37. x:5:respawn:/etc/X11/prefdm–nodaemon

          具體的內(nèi)容在大多數(shù)的Linux書(shū)籍中有詳細(xì)的介紹;開(kāi)發(fā)人員也可以使用man initab命令查看在線幫助手冊(cè),下面只作簡(jiǎn)單介紹:
          inittab是以行為單位的描述性(非執(zhí)行性)文本,每一個(gè)指令行都具有以下格式:
          [cpp]view plaincopy
          print?
          1. id:runlevel:action:process

          其中:

          本文引用地址:http://www.ex-cimer.com/article/201611/319978.htm

          • id 為入口標(biāo)識(shí)符,
          • runlevel 為運(yùn)行級(jí)別,
          • action 為動(dòng)作代號(hào),
          • process 為具體的執(zhí)行程序。
          id 一般要求4 個(gè)字符以?xún)?nèi),對(duì)于getty 或其他login 程序項(xiàng),要求id 與tty 的編號(hào)相同,否則getty 程序?qū)⒉荒苷9ぷ?。runlevel 是init 所處于的運(yùn)行級(jí)別的標(biāo)識(shí),一般使用0-6 以及S 或s。0、1、6 運(yùn)行級(jí)別被系統(tǒng)保留,0 作為shutdown 動(dòng)作,1 作為重

          啟至單用戶(hù)模式,6 為重啟;S 和s 意義相同,表示單用戶(hù)模式,且無(wú)需inittab 文件,因此也不在inittab 中出現(xiàn),實(shí)際上,進(jìn)入單用戶(hù)模式時(shí),init 直接在控制臺(tái)(/dev/console)上運(yùn)行/sbin/sulogin。在一般的系統(tǒng)實(shí)現(xiàn)中,都使用了2、3、4、5 幾個(gè)級(jí)別,在Redhat系統(tǒng)中,2 表示無(wú)NFS 支持的多用戶(hù)模式,3 表示完全多用戶(hù)模式(也是最常用的級(jí)別),4保留給用戶(hù)自定義,5 表示XDM 圖形登錄方式。7-9 級(jí)別也是可以使用的,傳統(tǒng)的Unix 系統(tǒng)沒(méi)有定義這幾個(gè)級(jí)別。runlevel 可以是并列的多個(gè)值,以匹配多個(gè)運(yùn)行級(jí)別,對(duì)大多數(shù)action 來(lái)說(shuō),僅當(dāng)runlevel 與當(dāng)前運(yùn)行級(jí)別匹配成功才會(huì)執(zhí)行。initdefault 是一個(gè)特殊的action 值,用于標(biāo)識(shí)缺省的啟動(dòng)級(jí)別;當(dāng)init 由核心激活以后,它將讀取inittab 中的initdefault 項(xiàng),取得其中的runlevel,并作為當(dāng)前的運(yùn)行級(jí)別。如果沒(méi)有inittab 文件,或者其中沒(méi)有initdefault 項(xiàng),init 將在控制臺(tái)上請(qǐng)求輸入 runlevel。

          sysinit、boot、bootwait 等action 將在系統(tǒng)啟動(dòng)時(shí)無(wú)條件運(yùn)行,而忽略其中的runlevel,其余的action(不含initdefault)都與某個(gè)runlevel 相關(guān)。各個(gè)action 的定義在inittab 的man 手冊(cè)中有詳細(xì)的描述。

          下面是對(duì)一個(gè)initab 文件的簡(jiǎn)單說(shuō)明:
          id:3:initdefault:
          #表示當(dāng)前缺省運(yùn)行級(jí)別為3--完全多任務(wù)模式;
          si::sysinit:/etc/rc.d/rc.sysinit
          #啟動(dòng)時(shí)自動(dòng)執(zhí)行/etc/rc.d/rc.sysinit 腳本
          l3:3:wait:/etc/rc.d/rc 3
          #當(dāng)運(yùn)行級(jí)別為3 時(shí),以3 為參數(shù)運(yùn)行/etc/rc.d/rc 腳本,init 將等待其返回
          0:12345:respawn:/sbin/mingetty tty0
          #在1-5 各個(gè)級(jí)別上以tty0 為參數(shù)執(zhí)行/sbin/mingetty 程序,打開(kāi)tty0 終端用于
          #用戶(hù)登錄,如果進(jìn)程退出則再次運(yùn)行mingetty 程序
          x:5:respawn:/usr/bin/X11/xdm -nodaemon
          #在5 級(jí)別上運(yùn)行xdm 程序,提供xdm 圖形方式登錄界面,并在退出時(shí)重新執(zhí)行。


          評(píng)論


          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();