请选择 进入手机版 | 继续访问电脑版

[LINUX] 详解Linux体系 中的进程 初始化设置 文件inittab

[复制链接]
查看120 | 回复23 | 2021-9-4 22:46:14 | 显示全部楼层 |阅读模式

/etc/inittab文件形貌 了哪些历程 开始启动并正常运行。inittab为linux初始化文件体系 时init初始化程序用到的设置 文件。这个文件负责设置init初始化程序初始化脚本在那里 ;每个运行级初始化时运行的下令 ; 开机、关机、重启对应的下令 ;各运行级登陆时所运行的下令 。

inittab文件中的条目标 格式如下:

label:runlevels:action:process   下面分别先容 各个字段

1.label
label 是一个独特的序列,确定了一个条目1 - 4字符,一些体系 只支持2个字符的标签。对于getty或mingetty等其他login程序项,要求label与tty的编号类似 ,否则getty程序将不能正常工作。

常用标签有:

id 用来定义缺省的init运行的级别
si 是体系 初始化的历程
ln 此中 的n从1~6,指明该历程 可以利用 的runlevel的级别
ud 是升级历程
ca 指明当按下Ctrl+Alt+Del时运行的历程
pf 指当UPS表明断电时运行的历程
pr 是在体系 真正关闭之前,UPS发出电源恢复的信号时必要 运行的历程
x 是将体系 转入X终端时必要 运行的历程

2.runlevels
runlevels 列出了运行级,指定应该采取的动作。可以指定多个runlevel级别,也可以不为runlevel字段指定特定的值。

runlevel 0是让init关闭全部 历程 并克制 体系 。
runlevel 1是用来将体系 转到单用户模式,单用户模式只能有体系 管理员进入,在该模式下处理那些在有登任命 户的环境 下不能举行 更改的文件,改runlevel的编号1也可以用S代替。
runlevel 2是答应 体系 进入多用户的模式,但并不支持文件共享,这种模式很少应用。
runlevel 3是最常用的运行模式,紧张 用来提供真正的多用户模式,也是多数服务器的缺省模式。
runlevel 4一样平常 不被体系 利用 ,用户可以计划 本身 的体系 状态并将其应用到runlevel 4阶段,只管 很少利用 ,但利用 该体系 可以实现一些特定的登录哀求 。
runlevel 5是将体系 初始化为专用的X Window终端。对功能强大 的Linux体系 来说,这并不是好的选择,但用户假如 必要 如许 ,也可以通过在runlevel启动来实现该方案。
runlevel 6是关闭全部 运行的历程 并重新启动体系 。

debian6以后默认没有运行/etc/inittab 文件  默认级别为2-5归为一类


3.action
action 字段定义了该历程 应该运行在何种状态下,形貌 厥后 的process的运行方式的。:

respawn 不管何时克制 都重新启动历程
wait 运行历程 等待输入运行模式   这个过程将会开始一次运行级别时指定输入和init将等待其克制
once 每一个runlevel级别运行一次  这个过程将实验 一次当指定输入runlevel
boot 在体系 启动时运行,忽略runlevel
bootwait 在体系 启动时运行,init等待历程 完成。忽略runlevel
ctrlaltdel 当Ctrl+Alt+Del三个键同时按下时运行,把SIGINT信号发送给init。忽略 runlevel
initdefault 不要实验 这个历程 ,它用于设置默认runlevel
kbrequest 当init从键盘中收到信号时运行。这里要求键盘组合符合KeyBoardSigra
off 克制 进入,因此该历程 不运行
once 每一个runlevel级别运行一次
ondemand 当体系 指定特定的运行级别A、B、C时运行
powerfail 当init收到SIGPWR信号时运行
powerokwait 当收到SIGPWD信号且/etc/文件中的电源状态包含OK时运行
powerwait 当收到SIGPWD信号,并且init等待历程 竣事 时运行
sysinit 在运行boot或bootwait历程 之前运行


4.process
process字段包含init实验 的历程 ,该历程 采用的格式与在下令 行下运行该历程 的格式一样,因此process字段都以该历程 的名字开头,紧跟着是运行时要传递给该历程 的参数。

复制代码代码如下:
# /etc/inittab: init(8) configuration.
# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $

 
复制代码代码如下:
# The default runlevel.
id:2:initdefault: #表示当前缺省运行级别为2

 
复制代码代码如下:
# Boot-time system configuration/initialization script.
# This is run first except when booting in emergency (-b) mode.
si::sysinit:/etc/init.d/rcS #体系 初始化的历程

 
复制代码代码如下:
# What to do in single-user mode.
~~:S:wait:/sbin/sulogin

 
复制代码代码如下:
# /etc/init.d executes the S and K scripts upon change
# of runlevel.
#
# Runlevel 0 is halt.
# Runlevel 1 is single-user.
# Runlevels 2-5 are multi-user.
# Runlevel 6 is reboot.

 
复制代码代码如下:
l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
l2:2:wait:/etc/init.d/rc 2
l3:3:wait:/etc/init.d/rc 3
l4:4:wait:/etc/init.d/rc 4
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6
# Normally not reached, but fallthrough in case of emergency.
z6:6:respawn:/sbin/sulogin

 
复制代码代码如下:
# What to do when CTRL-ALT-DEL is pressed. #在启动过程中是否答应 按CTRL-ALT-DELETE重启体系
#ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now

 
复制代码代码如下:
# Action on special keypress (ALT-UpArrow).
#kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this work."


复制代码代码如下:
# What to do when the power fails/returns.
pf::powerwait:/etc/init.d/powerfail start
pn::powerfailnow:/etc/init.d/powerfail now
po::powerokwait:/etc/init.d/powerfail stop

 
复制代码代码如下:
# /sbin/getty invocations for the runlevels.
#
# The "id" field MUST be the same as the last
# characters of the device (after "tty").
#
# Format:
# :::
#
# Note that on most Debian systems tty7 is used by the X Window System,
# so if you want to add more getty's go ahead but skip tty7 if you run X.
# getty历程 来提供假造 终端装备 的服务
1:2345:respawn:/sbin/getty 38400 tty1


复制代码代码如下:
#标具名 段的值是1,1是装备 tty1的数字后缀,tty1与相应的历程 相干 联,该getty历程 可以启动的runlevel是2,3,4和5,当该历程 克制 时,init立刻 就重新启动它。启动历程 的路径名是/sbin/getty,该历程 是实现假造 终端支持的最小版本的getty,为tty1提供启动假造 装备 的历程 。
2:23:respawn:/sbin/getty 38400 tty2
#3:23:respawn:/sbin/getty 38400 tty3
#4:23:respawn:/sbin/getty 38400 tty4
#5:23:respawn:/sbin/getty 38400 tty5
#6:23:respawn:/sbin/getty 38400 tty6
# Example how to put a getty on a serial line (for a terminal)
#
#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
T1:23:respawn:/sbin/getty -L ttyS1 115200 vt100
# Example how to put a getty on a modem line.
#
#T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS3

5.示例

复制代码代码如下:
# Begin /etc/inittab
id:3:initdefault:
si::sysinit:/etc/rc.d/init.d/rc sysinit
l0:0:wait:/etc/rc.d/init.d/rc 0
l1:S1:wait:/etc/rc.d/init.d/rc 1
l2:2:wait:/etc/rc.d/init.d/rc 2
l3:3:wait:/etc/rc.d/init.d/rc 3
l4:4:wait:/etc/rc.d/init.d/rc 4
l5:5:wait:/etc/rc.d/init.d/rc 5
l6:6:wait:/etc/rc.d/init.d/rc 6
ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
su:S016:once:/sbin/sulogin
1:2345:respawn:/sbin/agetty tty1 9600
2:2345:respawn:/sbin/agetty tty2 9600
3:2345:respawn:/sbin/agetty tty3 9600
4:2345:respawn:/sbin/agetty tty4 9600
5:2345:respawn:/sbin/agetty tty5 9600
6:2345:respawn:/sbin/agetty tty6 9600
# End /etc/inittab


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

楼上的别说的那么悲观好吧!
回复

使用道具 举报

avatar dxf17 | 2021-9-18 17:38:21 | 显示全部楼层
记得吃药!
回复

使用道具 举报

avatar 封号955 | 2021-9-20 04:05:04 | 显示全部楼层
很多天不上线,一上线就看到这么给力的帖子!
回复

使用道具 举报

avatar 肥牛于田揖 | 2021-9-20 10:11:26 | 显示全部楼层
楼上的能详细介绍一下么?
回复

使用道具 举报

avatar 卬起頭丶嶶笑 | 2021-9-20 13:33:26 | 显示全部楼层
什么狗屁帖子啊,admin楼主的语文是苍老师教的吗?
回复

使用道具 举报

avatar 或许你会吞 | 2021-9-20 20:58:07 | 显示全部楼层
admin楼主写的很经典!
回复

使用道具 举报

avatar 123457505 | 2021-9-22 10:14:23 | 显示全部楼层
收藏了,以后可能会用到!
回复

使用道具 举报

avatar 玻璃杯儿敌 | 2021-9-22 10:14:26 | 显示全部楼层
回帖也有有水平的!
回复

使用道具 举报

avatar 不忘初心xrl | 2021-9-27 09:41:30 | 显示全部楼层
admin楼主,您忘记吃药了吧?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则