inittab文件解析

/etc/inittab这个文件中定义的登记项都是以:隔开的四个段,即:

id:runlevels:action:process

id:id字段是最多4个字符的字符串,用来唯一标志表项。
runlevels:系统的运行级别,表示process的action要在哪个级别下运行,该段中可以定义多个运行级别,各级别之间直接写不用分隔符;如果为空,表示在所有的运行级别运行。
Linux的运行级别有:
0:表示关机
1:表示单用户模式,在这个模式中,用户登录不需要密码,默认网卡驱动是不被加载,一些服务不能用。
2:表示多用户模式,NFS服务不开启
3,表示命令行模式
4,这个模式保留未用
5,表示图形用户模式
6,表示重启系统

action:action字段告诉init执行的动作,即如何处理process字段指定的进程。
action字段允许的值及对应的动作分别为:

  • respawn:当process终止后马上启动一个新的

  • wait:当进入指定的runlevels后process才会启动一次,并等到处理结束才去处理inittab中的下一记录项。

  • initdefault:设定默认的运行级别,即我们开机之后默认进入的运行级别,不能是0,6,你懂的

  • sysinit:系统初始化,只有系统开机或重新启动的时候,这个process才会被执行一次

  • powerwait:当init接收到电源失败信号的时候执行相应的process,并且如果init有进程在运行,会等待这个进程完成之后,再执行相应的process

  • powerfail:当init接收到电源失败信号的时候执行相应的process,并且如果init有进程在运行,不会等待这个进程完成,它会直接执行相应的process

  • powerokwait:电源已经故障,但是在等待执行对应操作的时候突然来电了就执行对应的process

  • powerfailnow:当电源故障并且init被通知UPS电源已经快耗尽执行相对应的process

  • ctrlaltdel:当用户按下ctrl+alt+del这个组合键的时候执行对应的process

  • boot:只有在引导过程中,才执行该进程,但不等待该进程的结束;当该进程死亡时,也不重新启动该进程

  • bootwait:只有在引导过程中,才执行该进程,并等待进程的结束;当该进程死亡时,也不重新启动该进程

  • off:如果process正在运行,那么就发出一个警告信号,等待20秒后,再通过杀死信号强行终止该process。如果process并不存在那么就忽略该登记项

  • once:启动相应的进程,但不等待该进程结束便继续处理inittab文件中的下一个项。当该进程死亡时,init也不重新启动该进程。

 

process:字段中进程可以是任意的守候进程、可执行脚本或程序。

作者:SteveChen  创建时间:2024-10-10 10:55
最后编辑:SteveChen  更新时间:2024-10-10 10:55
上一篇:
下一篇: