/etc/inittab

Linux完成内核(Kernel)引导后,会开始运行init程序。init程序的进程号始终为1,是所有系统进程的起点。

init程序需要读取配置文件/etc/inittab。/etc/inittab是一个不可执行的文本文件,它由若干行指令组成,描述在系统引导及其他操作期间, 都启动哪些进程。

在inittab文件中,以#开头的所有行都是注释行。

 

/etc/inittab文件格式:

label:runlevel:action:process,共包含4项,用冒号分隔,其中某些部份可以为空。

label:
# 1-4个字符,也可称为id,配置行的唯一标识,在配置文件中不能重复。

runlevel:
# 配置行的运行级别,取值范围0-6。【参考Linux运行级别说明】
# runlevel可以是并列的多个值,以匹配多个运行级别,对大多数action来说,仅当runlevel与当前运行级别匹配成功才会执行。

action:
# 用于描述其后的process的运行方式。【参考Linux运行方式说明】
# initdefault是一个特殊的action值,用于标识缺省的启动级别;当init由核心激活以后,它将读取inittab中的initdefault项,取得其中的runlevel,并作为当前的运行级别。
# sysinit、boot、bootwait等action将在系统启动时无条件运行,而忽略其中的runlevel。
# 其余的action(不含initdefault)都与某个runlevel相关。
# 各个action的定义在inittab的man手册中有详细的描述。

process:
# 所要执行的shell命令。程序后面可以带参数。

 

Linux运行级别备注:
Linux有7个运行级别,分别为:
0-halt 关机,让init关闭所有进程并关机。
1-Single user mode 单用户字符界面,通常又称为s或S。
2-Multiuser,without NFS 不具备网络文件系统功能的多用户字符界面。
3-Full multiuser mode 具备网络文件系统功能的多用户字符界面。
4-unused 保留不用。
5-X11 具备网络功能的图形用户界面。
6-reboot 关闭所有运行的进程并重新启动系统。

 

Linux运行方式说明:
# initdefault 用于设置默认的runlevel。
# wait 运行进程等待输入运行模式。

# sysinit 在运行boot或bootwait进程之前运行。
# boot 在系统启动时运行。忽略runlevel。
# bootwait 在系统启动时运行。忽略runlevel。

# off 禁止进入,因此该进程不运行。
# respawn 不管何时终止都重新启动进程。

# ctrlaltdel 当Ctrl+Alt+Del三个键同时按下时运行,把SIGINT信号发送给init。忽略runlevel。
# kbrequest 当init从键盘中收到信号时运行。这里要求键盘组合符合KeyBoardSigral(参见/usr/share/doc/kbd-*关于键盘组合的文档)。

# powerfail 当init收到SIGPWR信号时运行。
# powerokwait 当init收到SIGPWD信号且/etc/文件中的电源状态包含OK时运行。
# powerwait 当init收到SIGPWD信号,并且init等待进程结束时运行。
 

你可能感兴趣的:(linux程序设计)