Action: action 字段通知 init 进程如何处理 inittab 文件的各个条目中的进程。以下是 AIX 所使用的 action 字段的值:
respawn:如果进程不存在,则启动进程。不等待其终止,并继续扫描 inittab 文件。如果进程终止,则重新启动进程。
wait:启动进程,并等待其终止。
once:启动进程,但不等待其终止。如果进程终止,则不重新启动它。
boot:只在系统启动时处理条目。
bootwait:在服务器最初从单用户进入多用户模式时处理条目。
powerfail:只在 init 收到电源故障信号时执行命令。
powerwait:只在 init 收到电源故障信号时执行命令,并且等待进程终止后再继续扫描 inittab 文件。
off:如果目前进程正在运行,则发送信号 SIGTERM,并在 20 秒后发送 SIGKILL。
ondemand:该值与 respawn 相同,但只适用于运行级别 a、b 和 c。
initdefault:仅在 init 最初执行时扫描条目。
sysinit:在登录和 init 访问控制台之前执行条目。
Command:/etc/inittab 中最后输入的字段是 command 字段。这是在 <run level> 已启动时,<action> 在认为有必要的情况下执行的实际命令。当命令准备执行时,AIX 将以如下方式启动子进程:sh -c exec <command>。
以下示例演示在启动运行级别 2 时运行名为 /usr/bin/rc.atc_bin 的 Shell 脚本,并在每次调用运行级别 2 时 respawn 该进程:
CORMANY_BIN:2:respawn:/usr/bin/rc.atc_bin
若要为运行级别 0、1、3、6 和 9 禁用相同的脚本,请使用:
CORMANY_BIN:245780:respawn:/usr/bin/rc.atc_bin
查看和修改 inittab
AIX 提供了比手动更改 /etc/inittab 文件更方便的命令。这些命令遵从与其他 AIX 命令相同的命名约定:
mkitab:向 inittab 文件添加记录。
以下示例将具有运行级别 2 的 /usr/bin/rc.atc_bin 脚本添加到 inittab 中。
mkitab “CORMANY_BIN:2:respawn:/usr/bin/rc.atc_bin
chitab:更改 inittab 文件中的记录。语法与 inittab 文件中的实际记录相同。
以下示例将上一示例的 inittab 文件中的 /usr/bin/rc.atc_bin 脚本的运行级别更改为 3:
chitab "CORMANY_BIN:3:respawn:/usr/bin/rc.atc_bin"
lsitab:列出 inittab 文件中的记录。使用 lsitab 是单独或一起查看 inittab 记录的安全手段。
以下示例查看 inittab 文件中的所有记录:
lsitab -a
以下示例仅查看标识为 CORMANY_BIN 的记录:
lsitab CORMANY_BIN
rmitab:从 inittab 文件中删除记录。
以下示例将标识为 CORMANY_BIN 的记录从 inittab 文件中删除:
rmitab CORMANY_BIN
结束语
现在已读取 inittab 文件并执行了所有应该执行的进程,系统已准备好进行登录!您现在可以登录并畅游您的 AIX 系统。
当您按下服务器上的电源开关时,系统魔术般地启动了,这一切似乎很简单,但正如您从本文中看到的,AIX 系统启动时发生了很多事情。希望您通过阅读本文能够更清楚地了解 AIX 需要执行哪些过程来支持稳定的操作系统。
标签: