inittab - 由sysv兼容的init进程使用的inittab文件的格式
描述
inittab文件描述了在启动时和正常操作期间启动哪些进程(例如/etc/init.d/boot,/etc/init.d/rc,gettys ...)。 Init (8)区分多个运行级别 ,每个运行级别都可以拥有自己的一组启动的进程。 按需输入的有效运行级别为0 - 6加A , B和C. inittab文件中的条目具有以下格式:
ID:运行级别:动作:过程
以'#'开始的行被忽略。
id是1-4个字符的唯一序列,它标识inittab中的条目(对于使用库<5.2.18或a.out库编译的,限制为2个字符的sysvinit版本)。
注意:对于gettys或其他登录进程, id字段应该是相应tty的tty后缀,例如1代表tty1 。 否则,登录帐户可能无法正常工作。
运行级别列出了应该采取指定操作的运行级别。
行动描述了应采取的行动。
进程指定要执行的进程。 如果进程字段以“+”字符开头,则init不会为该进程执行utmp和wtmp记帐。 这是gettys坚持要做自己的utmp / wtmp家务所需要的。 这也是一个历史性的错误。
runlevels字段可能包含不同运行级别的多个字符。 例如, 123指定应该在运行级1,2和3中启动进程。ondemand条目的运行级可能包含A , B或C. sysinit , boot和bootwait条目的runlevels字段将被忽略。
当系统运行级别发生变化时,任何未针对新运行级别指定的正在运行的进程都将首先使用SIGTERM,然后使用SIGKILL进行处理。
操作字段的有效操作是:
重生
该过程将在终止时重新启动(例如,getty)。
等待
当进入指定的运行级别并且init将等待其终止时,该进程将启动一次。
一旦
当输入指定的运行级别时,该进程将被执行一次。
靴
该过程将在系统引导期间执行。 运行级别字段被忽略。
bootwait
该进程将在系统引导期间执行,而init将等待其终止(例如/ etc / rc)。 运行级别字段被忽略。
离
这什么都不做。
一经请求
只要调用指定的ondemand运行级别,就会执行标有ondemand runlevel的进程。 但是,不会发生运行级别更改( 按需运行级别为“a”,“b”和“c”)。
默认运行级别
initdefault项指定系统启动后应该输入的运行级别。 如果不存在, init将在控制台上要求运行级别。 过程字段被忽略。
SYSINIT
该过程将在系统引导期间执行。 它将在任何引导或bootwait条目之前执行。 运行级别字段被忽略。
powerwait
该过程将在电源关闭时执行。 Init通常通过与连接到计算机的UPS进行通话的过程来了解此情况。 在继续之前, Init将等待该过程完成。
POWERFAIL
至于powerwait ,除了init不等待进程完成。
powerokwait
只要init通知电源已恢复,此过程将立即执行。
powerfailnow
当init被告知外部UPS的电池几乎为空并且电源出现故障时(假定外部UPS和监控进程能够检测到这种情况),将执行此过程。
该进程将在init收到SIGINT信号时执行。 这意味着系统控制台上的某个人按下了CTRL-ALT-DEL组合键。 通常,人们想要执行某种关机操作 ,以进入单用户级别或重新启动机器。
kbrequest
当init从键盘处理程序接收到控制台键盘上按下特殊组合键的信号时,该进程将被执行。
此功能的文档尚未完成; 更多的文档可以在kbd-x.xx包中找到(最新的文章是在撰写本文时为kbd-0.94)。 基本上你想要将一些键盘组合映射到“KeyboardSignal”动作。 例如,要为此目的映射Alt-Uparrow,请在键盘映射文件中使用以下内容:
alt键码103 =键盘信号
例子
这是一个类似于旧版Linux inittab的inittab示例:
#inittab for linux id:1:initdefault:rc :: bootwait:/ etc / rc 1:1:respawn:/ etc / getty 9600 tty1 2:1:respawn:/ etc / getty 9600 tty2 3:1:respawn:/ etc / getty 9600 tty3 4:1:重生:/ etc / getty 9600 tty4此inittab文件在启动过程中执行/ etc / rc ,并在tty1-tty4上启动gettys。
一个更详细的inittab,它具有不同的运行级别(请参阅里面的注释):
#在id:2中运行的级别:initdefault:#系统初始化之前。 si :: sysinit:/etc/rc.d/bcheckrc#运行级别0,6暂停并重启,1为维护模式。 l0:0:wait:/etc/rc.d/rc.halt l1:1:wait:/etc/rc.d/rc.single l2:2345:wait:/etc/rc.d/rc.multi l6: 6:等待:/etc/rc.d/rc.reboot#在“3指敬礼”处做什么。 ca :: ctrlaltdel:/ sbin / shutdown -t5 -rf now#运行级别2和3:控制台上的getty,级别3也在调制解调器端口上运行getty。 1:23:respawn:/ sbin / getty tty1 VC linux 2:23:respawn:/ sbin / getty tty2 VC linux 3:23:respawn:/ sbin / getty tty3 VC linux 4:23:respawn:/ sbin / getty tty4 VC linux S2:3:respawn:/ sbin / uugetty ttyS2 M19200也可以看看
重要提示:使用man命令( %man )查看特定计算机上的命令使用方式。