init是Linux系统执行的第一个进程,进程ID为1,是系统所有进程的起点,主要用来执行一些开机初始化脚本和监视进程。
init 0 - 停机(千万不能把initdefault 设置为0 )
init 1 - 单用户模式
init 2 - 多用户,没有 NFS
init 3 - 完全多用户模式(标准的运行级)
init 4 - 没有用到
init 5 - X11 (xwindow)
init 6 - 重新启动 (千万不要把initdefault 设置为6 )
init 1 - 单用户模式
init 2 - 多用户,没有 NFS
init 3 - 完全多用户模式(标准的运行级)
init 4 - 没有用到
init 5 - X11 (xwindow)
init 6 - 重新启动 (千万不要把initdefault 设置为6 )
Linux系统在完成内核引导以后就开始运行init程序,init程序需要读取配置文件/etc/inittab。inittab是一个不可执行的文本文件,它由若干行命令组成。在RHEL4系统中,inittab配置文件的内容如下所示。
#
# inittab This file describes how the INIT process should set up # the system in a certain run-level. # # Author: Miquel van Smoorenburg, # Modified for RHS Linux by Marc Ewing and Donnie Barnes # # 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) # //表示当前默认运行级别为5,启动系统进入图形化界面 id:5:initdefault: //启动时自动执行/etc/rc.d/rc.sysinit脚本 # System initialization. si::sysinit:/etc/rc.d/rc.sysinit l0:0:wait:/etc/rc.d/rc 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 l4:4:wait:/etc/rc.d/rc 4 //当运行级别为5时,以5为参数运行/etc/rc.d/rc脚本,init将等待其返回 l5:5:wait:/etc/rc.d/rc 5 l6:6:wait:/etc/rc.d/rc 6 //在启动过程中允许按[Ctrl+Alt+Del]重启系统 # Trap CTRL-ALT-DELETE ca::ctrlaltdel:/sbin/shutdown -t3 -r now # 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" //在运行级别2、3、4、5上以ttyX为参数执行/sbin/mingetty程序,打开ttyX终端用于用户登录,如果进程退出则再次运行mingetty程序 # Run gettys in standard runlevels 1:2345:respawn:/sbin/mingetty tty1 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
//在级别5上运行xdm程序,提供xdm图形方式登录界面,并在退出时重新执行 # Run xdm in runlevel 5 x:5:respawn:/etc/X11/prefdm -nodaemon |
inittab配置文件每行的基本格式如下。
id:runlevels:action:process
|
其中某些部分可以为空,下面我们逐一介绍。
1.id
1~2个字符,配置行的唯一标识,在配置文件中不能重复。
2.runlevels
配置行适用的运行级别,在这里可填入多个运行级别,比如12345或者35等。
Linux有7个运行级别。
l 0:关机。
l 1:单用户字符界面。
l 3:具有网络功能的多用户字符界面。
l 4:保留不用。
l 5:具有网络功能的图形用户界面。
l 6:重新启动系统。
3.action
init有如下几种行为, init行为:
行为
|
描述
|
respawn
|
启动并监视第4项指定的process,
若process终止则重启它
|
wait
|
执行第4项指定的process,并等待它执行完毕
|
once
|
执行第4项指定的process
|
boot
|
不论在哪个执行等级,系统启动时都会
运行第4项指定的process
|
bootwait
|
不论在哪个执行等级,系统启动时都会运
行第4项指定的process,且一直等它执行完备
|
off
|
关闭任何动作,相当于忽略该配置行
|
ondemand
|
进入ondemand执行等级时,执行第4项指定的process
|
initdefault
|
系统启动后进入的执行等级,该行不需要指定process
|
sysinit
|
不论在哪个执行等级,系统会在执行boot
及bootwait之前执行第4项指定的process
|
powerwait
|
当系统的供电不足时执行第4项指定的
process,且一直等它执行完毕
|
powerokwait
|
当系统的供电恢复正常时执行第4项指定
的process,且一直等它执行完毕
|
powerfailnow
|
当系统的供电严重不足时执行第4项指定
的process
|
ctrlaltdel
|
当用户按下【Ctrl+Alt+Del】时执行的操作
|
kbrequest
|
当用户按下特殊的组合键时执行第4项指
定的process,此组合键需在keymaps文件定义
|
转载于:https://blog.51cto.com/gxybk/438241