全部博文(2005)
分类: 嵌入式
2009-08-07 14:31:54
id:3:initdefault:
#设置默认运行等级.init 首先读取这一行来确定运行级别.
si::sysinit:/etc/rc.d/init.d/rc sysinit
#init在处理其它运行等级的脚本之前,首先会执行这一行.
#对应于/etc/rc.d/rcsysinit.d中的脚本.
#是系统的初始化进程.用于设置主机名,挂载文件系统,启动交换分区等.
l0:0:wait:/etc/rc.d/init.d/rc 0
l1:S1:wait:/etc/rc.d/init.d/rc 1
l2:2:wait:/etc/rc.d/init.d/rc 2
l3:3:wait:/etc/rc.d/init.d/rc 3
l4:4:wait:/etc/rc.d/init.d/rc 4
l5:5:wait:/etc/rc.d/init.d/rc 5
l6:6:wait:/etc/rc.d/init.d/rc 6
#对应于/etc/rc.d/rc[0-6].d中的脚本.
#配置行的排列语法为:
# id:runlevels:action:process [argument]
#id为标志字段,一般为2至4个字符.
#runlevel定义本行适用的运行等级.一般如下
#---------------------------------------------------------------------
#运行等级 | 说明
#--------|------------------------------------------------------------
# 0 |Halt,关闭系统.
# 1 |单用户,在grub启动时加上为kernel加上参数single即可进入此运行等级
# 2 |无网络多用户模式.
# 3 |有网络多用户模式.
# 4 |有网络多用户模式.
# 5 |X模式
# 6 |reboot重启系统
# S/s |同运行等级1
# a,b,c |自定义等级,通常不使用.
#---------------------------------------------------------------------
#action定义采取的行动.
#---------------------------------------------------------------------
# 行动 | 说明
#---------------------------------------------------------------------
# respawn |只要进程一停止,该进程就重新启动.
# wait |进程只运行一次,init将一直等待它结束,再执行其它命令.
# once |进程只运行一次.
# boot |系统引导进程中,进程运行,init将忽略运行等级这段.
# bootwait |系统引导过程中,进程运行,init将等待进程结束.
# off |不采取任何行动,功能相当于将这行用#注释掉.
# ondemand |只要init调用a,b,c中的任何一种运行等级时,进程便运行.
#initdefault|系统设置默认运行级别.process字段被忽略.
# sysinit |只要系统引导,该进程便运行,优先于boot与bootwait.
# powerwait |当init接收到SIGPWR信号时进程开始运行,一般为电源故障时运行.
# powerfail |与powerwait相同,但init不会等待进程完成.
#powerokwait|当电源故障修复时运行.
# ctrialdel |当init收到SIGNT信号时(按下ctrl+alt+del)时,进程运行.
# kbrequest |当init收到键盘处理KeyboardSignal信号时,进程运行.
#----------------------------------------------------------------------
ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
#在1-5运行等级中按下ctrl+alt+del时便重新启动系统.
su:S016:once:/sbin/sulogin
#在S,0,1,6等级下会运行sulogin.
#一般而言,如果在用grub或lilo启动时,如果为kernel加上single参数时,会直接进入单用户模式,而无需密码.造成一定安全隐患.加上这一行即可解决问题.
1:2345:respawn:/sbin/agetty -I '\033(K' tty1 9600
2:2345:respawn:/sbin/agetty -I '\033(K' tty2 9600
3:2345:respawn:/sbin/agetty -I '\033(K' tty3 9600
4:2345:respawn:/sbin/agetty -I '\033(K' tty4 9600
5:2345:respawn:/sbin/agetty -I '\033(K' tty5 9600
6:2345:respawn:/sbin/agetty -I '\033(K' tty6 9600
#设置tty控制台数量,一般为tty[1-6],X窗口系统一般运行在tty7.
# End /etc/inittab
http://blog.chinaunix.net/u/12066/showart_484426.html
/etc/inittab 文件的条目的格式是 :id:runlevels:action:process 。但不是每个条目都有这么多字段的。例如 initdefault 就没有 process 字段
有些条目则没有 runlevel 字段,例如 sysinit 和 ctrlaltdel 。某个字段为空,则用 :: 表示
[root@mail rc.d]# cat /etc/inittab
# Default runlevel. The runlevels used by RHS are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:5:initdefault: // 设置默认的启动级别。注意 “initdefault” 关键字。
# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit // 设置系统初始化执行的脚本,是 /etc/rc.d/rc.sysinit ,级别是空。注意关键字是 sysinit
l0:0:wait:/etc/rc.d/rc 0 // l0 是 level 0 的缩写。其他同样。运行级别0, / 目录下的所有脚本执行结束
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3 // 注意关键字 wait ,表示进入该级别后就只运行1次,且等待 rc.N 目录下的脚本都执行完再继续下一步
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now // id 为 ca ,运行级别为空,关键字为 ctrlaltdel ,表示设置是否捕捉该组合键的信号
默认接受。当按下该组合键时,在3秒(-t3)后会重启(-r)。
# When our UPS tells us power has failed, assume we have a few minutes
# of power left. Schedule a shutdown for 2 minutes from now.
# This does, of course, assume you have powerd installed and your
# UPS connected and working correctly.
pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"
# If power was restored before the shutdown kicked in, cancel it.
pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"
# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1 // 表示启用1-6号虚拟控制台,运行级别是2345。关键字是 respawn ,表示只要 mingetty 进程被杀死,就
2:2345:respawn:/sbin/mingetty tty2 // 自动再次启动。
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
# Run xdm in runlevel 5
x:5:respawn:/etc/X11/prefdm -nodaemon // 当运行级别是5时,还需要执行 /etc/X11/prefdm --nodeamon 来启动 display manager 登录窗口