NAME
inittab - 与 sysv 兼 容 的 init 进 程 使 用 的 初 始 化 文 件 格 式
描 述
inittab 文 件 描 述 在 系 统 引 导 及 通 常 的 操 作 期 间 , 都 启 动 哪 些 进 程 (比 如 /etc/init.d/boot, /etc/init.d/rc, getty 等 等 ). Init(8) 讨 论 有 关 runlevels (运 行 级 ) 的 概 念 , 每 一 个 运 行 级 都 有 它 自 己 启 动 进 程 的 集 合 . 有 效 的 运 行 级 为 0-6 加 上 用 于 ondemand 条 目 的 A, B 和 C. inittab 文 件 中 的 每 一 个 条 目 有 如 下 的 格 式 :
id:runlevels:action:process 以 ’#’ 开 头 的 行 被 忽 略 .
id |
inittab 文 件 中 条 目 的 唯 一 标 识 , 限 于 1-4 个 字 符 (如 果 是 用 版 本 号 小 于 5.2.18 或 a.out 的 库 编 译 生 成 的 sysvinit 程 序 , 则 仅 限 于 2 个 字 符 ). 注 意 : 对 于 getty 或 其 它 的 注 册 进 程 , id 必 须 是 响 应 的 终 端 线 路 的 tty 后 缀 , 如 1 响 应 tty1, 否 则 , 注 册 过 程 不 能 正 常 的 工 作 . |
runlevels 列 出 发 生 指 定 动 作 的 运 行 级 .
action 描 述 要 发 生 的 动 作 |
. |
process 要 执 行 的 进 程 . 如 果 process 域 以 一 个 ’+’ 开 头 , init 不 会 在 utmp 和 wtmp 文 件 中 为 此 进 程 记 帐 . 这 是 由 于 getty 自 己 主 持 utmp/wtmp 记 帐 的 需 要 , 同 时 这 也 是 一 个 历 史 遗 留 的 漏 洞 .
runlevels 域 可 以 包 含 表 示 不 同 运 行 级 的 多 个 字 符 , 例 如 123 表 示 本 进 程 在 运 行 级 为 1, 2 和 3 时 都 要 启 动 . 用 于 ondemand 条 目 的 runlevels 域 可 以 包 含 A, B, 或 C. 用 于 sysinit, boot, 和 bootwait 条 目 的 runlevels 域 被 忽 略 . 当 改 变 运 行 级 时 , 在 新 运 行 级 中 没 有 给 出 的 那 些 正 在 运 行 的 进 程 被 杀 死 , 先 使 用 SIGTERM 信 号 , 然 后 是 SIGKILL .
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 收 到 一 个 从
控 制 台 键 盘 产
生 的 特 殊 组 合
按 键 信 号 时 执
行 . 对 于 此 功 能
本 文 档 尚 未 完
成 ; 可 以 在 kbd-x.xx 包
中 找 到 更 多 信
息 (在 写 作 本 文
档 时 最 新 的 是
kbd-0.94). 当 然 你 可 能
想 为 某 些
"KeyboardSignal" 行 为 映
射 组 合 键 , 如 为
了 映 射 (Alt-上 箭 头 )
可 以 在 键 盘 映
射 文 件 中 使 用
如 下 的 方 式 :
alt keycode 103 = KeyboardSignal
举 例
这 是 一 个 与 老 的 Linux 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:respawn:/etc/getty 9600 tty4 本 文 件
在 引 导 时 执 行
/etc/rc 并 且 在 ty1-tty4 上
启 动 getty 进 程 . 一
个 更 详 尽 的 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:wait:/etc/rc.d/rc.reboot
# "3
个 键 " 按 下 时 要
做 的 工 作 .
ca::ctrlaltdel:/sbin/shutdown -t5 -rf now
# 运
行 级 2和 3: 在 控 制
台 生 成 getty 进 程 ,
运 行 级 为 3时 在 modem
上 生 成 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
文 件
/etc/inittab
作 者
Init 由 Miquel van Smoorenburg (miquels [AT] cistron.nl) 所 写 . 本 手 册 页 由 Sebastian Lederer (lederer [AT] francium.de) 所 写 , 由 Michael Haardt (u31b3hs [AT] pool.de) 修 改 .
参 考
中 文 版 维 护 人
Yin Huaming <yhmact [AT] pzh-public.net>
中 文 版 最 新 更 新
2002年 7月 13日
中 国 Linux 论 坛 man 手 册 页 翻 译 计 划
跋
本 页 面 中 文 版 由 中 文 man 手 册 页 计 划 提 供 。 中 文 man 手 册 页 计 划 : https://github.com/man-pages-zh/manpages-zh