Inittab-Linux / Unix命令

inittab - 由sysv兼容的init进程使用的inittab文件的格式

描述

inittab文件描述了在启动时和正常操作期间启动哪些进程(例如/etc/init.d/boot,/etc/init.d/rc,gettys ...)。 Init (8)区分多个运行级别 ,每个运行级别都可以拥有自己的一组启动的进程。 按需输入的有效运行级别为0 - 6ABC. 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条目的运行级可能包含ABC. sysinitbootbootwait条目的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和监控进程能够检测到这种情况),将执行此过程。

ctrlaltdel

该进程将在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

也可以看看

init (8), telinit 8)

重要提示:使用man命令( %man )查看特定计算机上的命令使用方式。