在來談SRC之前,我們要先來瞭解 AIX 系統啟動流程,就像 windows 開機可以有正常模式/安全模式/偵錯模式...等等,不同的模式會去執行不同的系統環境,而 AIX 也是一樣, 在這裡我們稱這些模式為 runlevel 它會先去呼叫 /etc/init 程序,透過它最後去讀取 /etc/inittab 這個檔案,就像早期的 DOS ,我們通常會把開機想要啟動的一些程式和環境變數寫在 auotexec.bat 檔裡, AIX 也不例外,在 /etc/inittab 裡定義了runlevel的內容,也包含runlevel預設值,整個啟動的環境設定都寫在裡面,今天就先和大家講解一下裡面的內容:
(內容依大家作業環境的關係,不盡相同,我擷錄當中重要部份和大家介紹)
root#/etc>cat /etc/inittab
: @(#)49 1.28.2.11 src/bos/etc/inittab/inittab, cmdoper, bos530 2/19/04 11:22:58
: IBM_PROLOG_BEGIN_TAG
: This is an automatically generated prolog.
:
: bos530 src/bos/etc/inittab/inittab 1.28.2.11
:
: Licensed Materials - Property of IBM
:
: (C) COPYRIGHT International Business Machines Corp. 1989,1993
: All Rights Reserved
:
: US Government Users Restricted Rights - Use, duplication or
: disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
:
: IBM_PROLOG_END_TAG
:
: COMPONENT_NAME: CMDOPER
:
: ORIGINS: 3, 27
:
: (C) COPYRIGHT International Business Machines Corp. 1989, 1993
: All Rights Reserved
: Licensed Materials - Property of IBM
:
: US Government Users Restricted Rights - Use, duplication or
: disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
:
: Note - initdefault and sysinit should be the first and second entry.
:
註:上面冒號的部份都是IBM版權內容宣告,你說它重要嗎! :-)
註:接下來每一行格式其值皆有其標準定義:
格式- code:runlevels:action:process
第一欄=> Code : 識別碼
第二欄=> Runlevels : 執行模式,這裡有2~9不等,例rc:23456789,表示選了2~9其中任一種模式都會呼叫這行程序,如果只有rc:234,表示選了2~4才會執行這一行,5~9則不會
第三欄=> Action : 處理的動作 , 有initdefault,wait,respawn等, 例如respawn表示一直重覆執行,就算這個prcoess死了,還會重新再起,就像windows被植入惡意程序的原理類似,刪也刪不掉,發現被關了,還會自己再跑起來,這樣好像有點侮辱了AIX的偉大...容易記比較重要啦)
第四欄=> Process : 要執行的操作與參數
init:2:initdefault: ( 註:這裡定義了預設的runlevel值是2 )
brc::sysinit:/sbin/rc.boot 3 >/dev/console 2>&1 # Phase 3 of system boot
( 註:如果runlevel的欄位是空白,就表示不管系統選哪一個runlevel都會執行此行)
powerfail::powerfail:/etc/rc.powerfail 2>&1 | alog -tboot > /dev/console # Power Failure Detection (註:其實下面都有#,後面的內容都有替每行描述基本的作用)
mkatmpvc:2:once:/usr/sbin/mkatmpvc >/dev/console 2>&1
atmsvcd:2:once:/usr/sbin/atmsvcd >/dev/console 2>&1
load64bit:2:wait:/etc/methods/cfg64 >/dev/console 2>&1 # Enable 64-bit execs
tunables:23456789:wait:/usr/sbin/tunrestore -R > /dev/console 2>&1 # Set tunables
rc:23456789:wait:/etc/rc 2>&1 | alog -tboot > /dev/console # Multi-User checks
fbcheck:23456789:wait:/usr/sbin/fbcheck 2>&1 | alog -tboot > /dev/console # run /etc/firstboot
srcmstr:23456789:respawn:/usr/sbin/srcmstr # System Resource Controller
(註:看到這行沒,SRC出現了,表示不管選到2~9哪一個runlevel,都會一直執行/usr/sbin/srcmstr這個程序)
rctcpip:23456789:wait:/etc/rc.tcpip > /dev/console 2>&1 # Start TCP/IP daemons
nim:2:wait:/usr/bin/startsrc -g nim >/dev/console 2>&1
sniinst:2:wait:/var/adm/sni/sniprei > /dev/console 2>&1
rcnfs:23456789:wait:/etc/rc.nfs > /dev/console 2>&1 # Start NFS Daemons
cron:23456789:respawn:/usr/sbin/cron
piobe:2:wait:/usr/lib/lpd/pioinit_cp >/dev/null 2>&1 # pb cleanup
qdaemon:23456789:wait:/usr/bin/startsrc -sqdaemon
writesrv:23456789:wait:/usr/bin/startsrc -swritesrv
uprintfd:23456789:respawn:/usr/sbin/uprintfd
shdaemon:2:off:/usr/sbin/shdaemon >/dev/console 2>&1 # High availability daemon
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
l7:7:wait:/etc/rc.d/rc 7
l8:8:wait:/etc/rc.d/rc 8
l9:9:wait:/etc/rc.d/rc 9 ( 註: 這裡定義了總共有從 2~9 的runlevel )
naudio::boot:/usr/sbin/naudio > /dev/null
logsymp:2:once:/usr/lib/ras/logsymptom # for system dumps
perfstat:2:once:/usr/lib/perf/libperfstat_updt_dictionary >/dev/console 2>&1
diagd:2:once:/usr/lpp/diagnostics/bin/diagd >/dev/console 2>&1
ctrmc:2:once:/usr/bin/startsrc -s ctrmc > /dev/console 2>&1
dt:2:wait:/etc/rc.dt
cons:0123456789:respawn:/usr/sbin/getty /dev/console
ha_star:h2:once:/etc/rc.ha_star >/dev/console 2>&1
ntbl_reset:2:once:/usr/bin/ntbl_reset_datafiles
rcml:2:once:/usr/sni/aix53/rc.ml > /dev/console 2>&1
tty0:2:respawn:/usr/sbin/getty /dev/tty0
tsm::once:/usr/bin/dsmc sched > /dev/null 2>&1 # TSM scheduler
tty3:2:respawn:/usr/sbin/getty /dev/tty3
fmc:2:respawn:/usr/opt/db2_08_01/bin/db2fmcd #DB2 Fault Monitor Coordinator
:xmdaily:2:once:/usr/bin/xmwlm -L 2>&1 >/dev/null # Start xmwlm daily recording
topasrec:2:once:/usr/bin/topas -R 2>&1 >/dev/null # Start topas recording
tty1:2:off:/usr/sbin/getty /dev/tty1
tty2:2:off:/usr/sbin/getty /dev/tty2
以上就是 /etc/inittab 裡大概內容,看到沒,SRC在系統一啟動就發生作用了,想要更瞭解SRC是如何控管系統資源的嗎?!你將在下一篇裡有更深入的發現,咱們AIX - SRC 漫談與應用 中篇 見囉
-
‧
-
‧
-
‧
相關問答
- 鐵人賽的疑問?
- 最後一天 -- 鐵人賽對我的意義!!!
- 收到鐵人賽的T-shirt啦~~(有圖有真相)
- 收到鐵人賽的T-shirt啦~~ (有圖有真相)
- 第一屆iT邦幫忙鐵人賽早鳥獎與鐵人鍊成獎得獎名單
- 小財神來報告一下鐵人賽豐富的獎品與參賽報法囉
- 對於這次鐵人賽你認為哪些文章該被檢舉?
- 鐵人賽發表的文章,可以同時發佈在自己個人部落格上嗎?
- 第一屆iT邦幫忙鐵人賽得獎名單已經公佈囉
- 鐵人賽
- [鐵人賽最後領獎通知]sanger、grundy40、singwang三位邦友快與小財神聯絡
- 鐵人賽4
- 鐵人賽5
- 鐵人賽6
- 鐵人賽 活動
- iT邦檔案新增「鐵人鍊成中」小貼紙
- 資安鐵人賽
- 資訊安全鐵人賽
- 鐵人賽-----活動訊息
- 資安鐵人賽 - 瀏覽器種類









