inittab 文件

用途

控制初始化过程。

描述

/etc/inittab 文件将脚本提供给 init 命令作为常规进程分派器的角色。 构成 init 命令的大多数进程分派活动的进程是 /etc/getty 行进程,它启动各个终端行。 其他典型地由 init 命令分派的进程为守护程序和 shell。

/etc/inittab 文件由依赖于位置且具有以下格式的条目组成:

Identifier:RunLevel:Action:Command
注: 冒号字符 (:) 将用作定界符以及注释字符。 要注释掉 初始化选项卡 条目,请在该条目的开头添加 : 。 例如:
:Identifier:RunLevel:Action:Command

每个条目都以换行符分隔。 在换行符前面的反斜杠 (\) 表示条目的连续。 /etc/inittab 文件中的条目数没有限制 (除了最大条目大小)。 最大条目大小为 1024 个字符。 输入字段为:

标识
一个字符串 (一个或多个字符) ,用于唯一标识对象。
RunLevel
可以在其中处理此条目的运行级别。 运行级别与系统中流程的配置有效对应。 由 初始化 命令启动的每个进程都分配有一个或多个可以存在的运行级别。 运行级别由 0 到 9 的数字表示。 例如,如果系统处于运行级别 1 ,那么只有 运行级别 字段中具有 1 的条目才会启动。 当您请求 初始化 命令更改运行级别时,所有在目标运行级别的 运行级别 字段中没有条目的进程都将接收到警告信号 (SIGTERM)。 在进程被终止信号 (SIGKILL) 强制终止之前,有 20 秒的宽限期。 运行级别 字段 0 9 通过在 0 到 9 之间的任意组合中选择多个运行级别来定义流程的多个运行级别。 如果未指定任何运行级别,那么假定该进程在所有运行级别都有效。

运行级别 字段中显示了其他三个值,即使这些值不是 true 运行级别也是如此: ABC。 仅当 泰利尼特 命令请求运行 运行级别 字段中包含这些字符的条目 (无论系统的当前运行级别如何) 时,才会对这些条目进行处理。 它们与运行级别不同,因为 初始化 命令永远无法输入运行级别 ABC。 此外,执行这些进程中的任何进程的请求都不会更改当前运行级别。 此外,当 初始化 命令更改级别时,也不会终止由 ABC 命令启动的进程。 仅当 /etc/inittab 文件中的行在 action 字段中被标记为关闭,其行完全从 /etc/inittab中删除,或者 init 命令进入单用户方式时,它们才会被终止。

操作
告知 初始化 命令如何处理在 标识 字段中指定的进程。 初始化 命令可识别下列操作:
重新衍生
如果该进程不存在,请启动该进程。 不要等待其终止 (继续扫描 /etc/inittab 文件)。 请在进程终止时重新启动该进程。 如果该进程存在,那么不执行任何操作并继续扫描 /etc/inittab 文件。
WAIT
初始化 命令进入与条目的运行级别匹配的运行级别时,请启动该进程并等待其终止。 当 init 命令处于同一运行级别时, /etc/inittab 文件的所有后续读取将导致 init 命令忽略此条目。
一次性
初始化 命令进入与条目的运行级别相匹配的运行级别时,请启动该进程,并且不等待其终止。 当它终止时,不要重新启动该进程。 当系统进入新的运行级别,并且该进程仍在从先前的运行级别更改运行时,程序将不会重新启动。 当 init 命令处于同一运行级别时, /etc/inittab 文件的所有后续读取将导致 init 命令忽略此条目。
boot
仅在系统引导期间处理该条目,即 init 命令在系统启动期间读取 /etc/inittab 文件时。 请启动该进程,不要等待其终止,并且当它终止时,不要重新启动该进程。 为了使指令有意义,运行级别应该是缺省值,或者在引导时必须与 初始化 命令的运行级别相匹配。 此操作对于系统的硬件重新引导后的初始化功能很有用。
布特怀特
在系统引导后, 初始化 命令首次从单用户状态转为多用户状态时处理条目。 启动该进程,等待其终止,当其终止时,不要重新启动该进程。 如果 initdefault 为 2 ,请在引导后立即运行该进程。
Powerfail
仅当 初始化 命令接收到断电信号 (SIGPWR) 时,才执行与此条目关联的进程。
动力
仅当 init 命令接收到电源故障信号 (SIGPWR) 时,才执行与此条目关联的进程,并等待它终止,然后再继续处理 /etc/inittab 文件。
如果与此条目关联的进程当前正在运行,请发送警告信号 (SIGTERM) ,并等待 20 秒,然后使用终止信号 (SIGKILL) 终止该进程。 如果进程未在运行,请忽略此条目。
按需
功能上与 重新衍生相同,但此操作适用于 A B C 值,而不适用于运行级别。
初始化默认值
仅当初始调用 初始化 命令时,才会扫描具有此操作的条目。 初始化 命令使用此条目 (如果存在) 来确定初始要输入的运行级别。 要通过取得 RunLevel 字段中指定的最高运行级别并将它用作其最初状态才能完成以上操作。 如果 运行级别 字段为空,那么会将其解释为 0123456789; 因此, 初始化 命令会 9 运行级别 9。 此外,如果 init 命令在 /etc/inittab 文件中找不到 initdefault 条目,那么它会在引导时向用户请求初始运行级别。
瑟西尼
此类型的条目将在 初始化 命令尝试在登录之前访问控制台之前执行。 预期此条目将仅用于初始化 初始化 命令可能会尝试询问运行级别问题的设备。 这些条目将执行并等待,然后再继续。
命令
要执行的 shell 命令。 整个 命令 字段的前缀为exec传递给了一个叉子shassh -c exec command. 任何法律sh语法可能出现在此字段中。 可以使用 # 注释语法来插入注释。

盖蒂 命令将覆盖 初始化选项卡 文件中出现在它前面的任何命令的输出。 要将这些命令的输出记录到引导日志,请将其输出传送到 alog -tboot 命令。

初始化 正在处理 初始化选项卡 个条目时, stdin , stdout 和 stdfer 文件描述符可能不可用。 任何写入 stdout 或 stderr 的条目都可能无法预测工作,除非它们将其输出重定向到文件或 /dev/console

以下命令是唯一受支持的方法,用于修改 /etc/inittab 文件中的记录:

命令 用途
奇陶卜 更改 /etc/inittab 文件中的记录。
利西特卜 列出 /etc/inittab 文件中的记录。
姆基陶普 将记录添加到 /etc/inittab 文件。
勒米陶卜 /etc/inittab 文件中除去记录。

示例

  1. 要启动ident所有运行级别的进程,请输入:
    ident:0123456789:Action:Command
  2. 要启动ident仅在运行级别 2 进行处理,请输入:
    ident:2:Action:Command
  3. 要禁用运行级别 0 3 6 9 以下操作:ident进程,输入:
    ident:1245:Action:Command
  4. 要在运行级别 2 启动 返回码 命令并将其输出发送到引导日志,请输入:
    rc:2:wait:/etc/rc 2>&1 | alog -tboot > 
    /dev/console

文件

描述
/etc/inittab 指定该 初始化选项卡 文件的路径。
/usr/sbin/getty 指示终端行。