init 进程和inittab 引导指令
时间:11-22
来源:互联网
点击:
init 进程是系统所有进程的起点,内核在完成内核引导以后,即在本线程(进程)空间内加载init 程序,它的进程号是1。init 程序读取/etc/inittab 文件作为其行为指针,根据initab 描述文件的内容建立相应的进程。initab 文件中描述了系统默认的运行级别,运行rc 启动脚本,进行用户的登录,X Window 登录等工作。Initab 文件的主体部分如下:
具体的内容在大多数的Linux书籍中有详细的介绍;开发人员也可以使用man initab命令查看在线帮助手册,下面只作简单介绍:
inittab是以行为单位的描述性(非执行性)文本,每一个指令行都具有以下格式:
id:3:initdefault:
#表示当前缺省运行级别为3--完全多任务模式;
si::sysinit:/etc/rc.d/rc.sysinit
#启动时自动执行/etc/rc.d/rc.sysinit 脚本
l3:3:wait:/etc/rc.d/rc 3
#当运行级别为3 时,以3 为参数运行/etc/rc.d/rc 脚本,init 将等待其返回
0:12345:respawn:/sbin/mingetty tty0
#在1-5 各个级别上以tty0 为参数执行/sbin/mingetty 程序,打开tty0 终端用于
#用户登录,如果进程退出则再次运行mingetty 程序
x:5:respawn:/usr/bin/X11/xdm -nodaemon
#在5 级别上运行xdm 程序,提供xdm 图形方式登录界面,并在退出时重新执行。
[plain]view plaincopyprint?
- #Defaultrunlevel.TherunlevelsusedbyRHSare:
- #0-halt(DoNOTsetinitdefaulttothis)
- #1-Singleusermode
- #2-Multiuser,withoutNFS(Thesameas3,ifyoudonothavenetworking)
- #3-Fullmultiusermode
- #4-unused
- #5-X11
- #6-reboot(DoNOTsetinitdefaulttothis)
- #
- id:5:initdefault:
- #Systeminitialization.
- si::sysinit:/etc/rc.d/rc.sysinit
- l0:0:wait:/etc/rc.d/rc0
- l1:1:wait:/etc/rc.d/rc1
- l2:2:wait:/etc/rc.d/rc2
- l3:3:wait:/etc/rc.d/rc3
- l4:4:wait:/etc/rc.d/rc4
- l5:5:wait:/etc/rc.d/rc5
- l6:6:wait:/etc/rc.d/rc6
- #TrapCTRL-ALT-DELETE
- ca::ctrlaltdel:/sbin/shutdown-t3-rnow
- #WhenourUPStellsuspowerhasfailed,assumewehaveafewminutes
- #ofpowerleft.Scheduleashutdownfor2minutesfromnow.
- #Thisdoes,ofcourse,assumeyouhavepowerdinstalledandyour
- #UPSconnectedandworkingcorrectly.
- pf::powerfail:/sbin/shutdown-f-h+2"PowerFailure;SystemShuttingDown"
- #Ifpowerwasrestoredbeforetheshutdownkickedin,cancelit.
- pr:12345:powerokwait:/sbin/shutdown-c"PowerRestored;ShutdownCancelled"
- #Rungettysinstandardrunlevels
- 1:2345:respawn:/sbin/mingettytty1
- 2:2345:respawn:/sbin/mingettytty2
- 3:2345:respawn:/sbin/mingettytty3
- 4:2345:respawn:/sbin/mingettytty4
- 5:2345:respawn:/sbin/mingettytty5
- 6:2345:respawn:/sbin/mingettytty6
- #Runxdminrunlevel5
- x:5:respawn:/etc/X11/prefdm–nodaemon
具体的内容在大多数的Linux书籍中有详细的介绍;开发人员也可以使用man initab命令查看在线帮助手册,下面只作简单介绍:
inittab是以行为单位的描述性(非执行性)文本,每一个指令行都具有以下格式:
[cpp]view plaincopyprint?
- id:runlevel:action:process
其中:
- id 为入口标识符,
- runlevel 为运行级别,
- action 为动作代号,
- process 为具体的执行程序。
sysinit、boot、bootwait 等action 将在系统启动时无条件运行,而忽略其中的runlevel,其余的action(不含initdefault)都与某个runlevel 相关。各个action 的定义在inittab 的man 手册中有详细的描述。
下面是对一个initab 文件的简单说明:id:3:initdefault:
#表示当前缺省运行级别为3--完全多任务模式;
si::sysinit:/etc/rc.d/rc.sysinit
#启动时自动执行/etc/rc.d/rc.sysinit 脚本
l3:3:wait:/etc/rc.d/rc 3
#当运行级别为3 时,以3 为参数运行/etc/rc.d/rc 脚本,init 将等待其返回
0:12345:respawn:/sbin/mingetty tty0
#在1-5 各个级别上以tty0 为参数执行/sbin/mingetty 程序,打开tty0 终端用于
#用户登录,如果进程退出则再次运行mingetty 程序
x:5:respawn:/usr/bin/X11/xdm -nodaemon
#在5 级别上运行xdm 程序,提供xdm 图形方式登录界面,并在退出时重新执行。
init进程inittab引导指 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)