剖析inittab文件

inittab文件是Linux系统中init进程的配置文件,用于定义系统启动时的各个进程和服务。它由id, runlevels, action, process四个字段组成,分别表示条目标识、运行级别、操作类型和要执行的进程。例如,id字段用于定义终端线路,runlevels指定运行级别,action定义进程启动行为,如respawn表示进程退出后重新启动。内容包括启动级别的设置、系统初始化脚本、终端进程以及对CTRL-ALT-DEL组合键的响应。RedHat9的inittab文件示例展示了如何配置默认运行级别和启动不同级别的服务。" 108131739,9674477,使用Postman和AWS进行无服务器应用负载测试,"['API测试', '服务器负载', '无服务器架构', 'Postman工具', 'AWS服务']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

inittab文件时init进程读取的配置文件,本身不可执行,由若干条指令组成。文件描述在系统引导及通常的操作期间, 都启动哪些进程 (比如/etc/init.d/boot, /etc/init.d/rc, getty 等等)。
inittab 文件中的每一个条目有如下的格式:
       id:runlevels:action:process
共四个字段,由冒号隔开,每个字段的意义和取值如下:

id: 

inittab文件中条目的唯一标识, 限于 1-4 个字符 (如果是用版本号小于 5.2.18 或a.out 的库编译生成的 sysvinit 程序, 则仅限于 2 个字符).
注意: 对于getty 或其它的注册进程, id 必须是响应的终端线路的 tty后缀, 如 1 响应
tty1, 否则, 注册过程不能正常的工作.

runlevels:

列出发生指定动作的运行级,可以取0至6.

action:

描述要发生的动作,具体如下:

       respawn       该进程只要终止就立即重新启动 (如  getty).

       wait             只要进入指定的运行级就启动本进程, 并且 init 等待该进程的结束.

       once            只要进入指定的运行级就启动一次本进程.

       boot             在系统引导期间执行本进程. runlevels 域被忽略.

       bootwait       在系统引导期间执行本进程. 并且 init 等待该进 程 的 结 束  ( 如
                           /etc/rc).  runlevels 域被忽略.

       off               什么也不做.

       ondemand    在进入 ondemand 运行级时才会执行标记为 ondemand 的那些进程. 

                           无论怎样, 实际上没有改变运行级 (ondemand 运行级就是'a', 'b', 和
                           'c').

       initdefault     initdefault 条目给出系统引导完成后进入的运行级, 如果不存在这样的
                           条目, init 就会在控制台询问要进入的运行级.  process 域被忽略.

       sysinit          系统引导期间执行此进程. 本进程会在boot 或bootwait 条目之前得到执

                           行.  runlevels 域被忽略.

       powerwait     本进程在电源不足时执行.  通常在有进程把 UPS 和计算机相连时通知
                            init 进程, Init 在继续其它工作之前要等待此进程结束.

       powerfail       类似 powerwait, 但是init 不等待此进程完成.

       powerokwait  在init 收到电源已经恢复的通知后立即执行此进程.

       powerfailnow  本进程在 init 被告知 UPS 电源快耗尽同时外部电源失败 (无效) 时被
                             执行.  (假设 UPS 和监视进程能够发现这样的情况).

       ctrlaltdel         在 init 收到 SIGINT 信号时执行此进程.  这意味着有人在控制台按下
                             了 CTRL-ALT-DEL 组合键, 典型地, 可能是想执行类似 shutdown 然 

                             后进入单用户模式或重新引导机器.

       kbrequest       本进程在 init 收到一个从控制台键盘产生的特殊组合按键信号时执行.

 

 

process:

要执行的进程. 可以带参数,如果 process 域以一个‘+’开头, init 不会在utm 和wtmp文件中为此进程记帐.   

 

下面以RedHat9的inittab文件内容为例,做具体说明。

 

#

# inittab       This file describes how the INIT process should set up

#               the system in a certain run-level.

#

# Author:       Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org>

#               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) //多用户模式,无NFS功能。

#   3 - Full multiuser mode         //完整多用户模式

#   4 - unused

#   5 - X11                                 //完整多用户模式,启动X11

#   6 - reboot (Do NOT set initdefault to this)  //重启

id:3:initdefault:                //默认以3级别启动

 

# System initialization.

si::sysinit:/etc/rc.d/rc.sysinit          //系统引导期间执行rc.sysinit,忽略启动级别

 

l0:0:wait:/etc/rc.d/rc 0                   //以0级别启动时,用0参数执行rc

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

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    //系统启动时按下Ctrl+Alt+Delete时执行的程序

 

# 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  //分配tty终端给虚拟控制台

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

 

# Run xdm in runlevel 5

x:5:respawn:/etc/X11/prefdm -nodaemon

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值