分类:
2011-12-01 23:57:50
原文地址:busybox内init进程启动过程 作者:zaicichuxian
/etc/inittab 文件中每个条目用来定义一个子进程,并确定它的启动方法,格式如下 :
例如:
ttySAC0:askfirst:-/bin/sh
(1)
(2)
(3)
(4)
如果
(1)在系统启动前期,init进程首先启动
(2)在系统正常运行期间,init程序首先启动,
(3) 在系统退出时,执行
如果根文件系统中没有/etc/initab文件,Busybox init程序将使用如下默认的inittab条目。
/etc/inittab文件中
Action名称 | 执行条件 | 说明 |
Sysinit | 系统启动后最先执行 | 只执行一次,init进程等待它结束才继续执行其它动作 |
Wait | 系统执行完sysinit进程后 | 只执行一次,init进程等待它结束才继续执行其它动作 |
Once | 系统执行完wait进程后 | 只执行一次,init进程不等待它结束 |
Respawn | 启动完once进程后 | Init进程监测发现子进程退出时,重新启动它 |
Askfirst | 启动完respawn进程后 | 与respawn类似,不过init进程先输出“Please press Enter to actvie this console”,等用户输入驾车键之后才启动子进程 |
Shutdown | 当系统关机时 | 即重启关闭系统命令时 |
Restart | Busybox中配置了CONFIG_FEATURE_USE_INITTAB,并且init进程接收到SIGHUP信号时 | 先重新读取,解析/etc/initab文件,再执行restart程序 |
Ctrlatldel | 按下Ctr+Alt+del组合键时 |
|
读取后分为几类:
根据启动定义性质,分别启动。
其中在启动
Sysinit进程的时候,会如下: