也想出现在这里? 联系我们

详解Linux系统中的进程初始化配置文件inittab

作者 : 小编 本文共4305个字,预计阅读时间需要11分钟 发布时间: 2022-10-28 共3.55K人阅读
也想出现在这里? 联系我们

/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级别运行一次 这个过程将执行一次当指定输入runlevelboot 在系统启动时运行,忽略runlevelbootwait 在系统启动时运行,init等待进程完成。忽略runlevelctrlaltdel 当Ctrl+Alt+Del三个键同时按下时运行,把SIGINT信号发送给init。忽略 runlevelinitdefault 不要执行这个进程,它用于设置默认runlevelkbrequest 当init从键盘中收到信号时运行。这里要求键盘组合符合KeyBoardSigraoff 禁止进入,因此该进程不运行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 0l1:1:wait:/etc/init.d/rc 1l2:2:wait:/etc/init.d/rc 2l3:3:wait:/etc/init.d/rc 3l4:4:wait:/etc/init.d/rc 4l5:5:wait:/etc/init.d/rc 5l6: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 startpn::powerfailnow:/etc/init.d/powerfail nowpo::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:# <id>:<runlevels>:<action>:<process>## 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 vt100T1: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/inittabid:3:initdefault:si::sysinit:/etc/rc.d/init.d/rc sysinitl0:0:wait:/etc/rc.d/init.d/rc 0l1:S1:wait:/etc/rc.d/init.d/rc 1l2:2:wait:/etc/rc.d/init.d/rc 2l3:3:wait:/etc/rc.d/init.d/rc 3l4:4:wait:/etc/rc.d/init.d/rc 4l5:5:wait:/etc/rc.d/init.d/rc 5l6:6:wait:/etc/rc.d/init.d/rc 6ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r nowsu:S016:once:/sbin/sulogin1:2345:respawn:/sbin/agetty tty1 96002:2345:respawn:/sbin/agetty tty2 96003:2345:respawn:/sbin/agetty tty3 96004:2345:respawn:/sbin/agetty tty4 96005:2345:respawn:/sbin/agetty tty5 96006:2345:respawn:/sbin/agetty tty6 9600# End /etc/inittab

1. 本站所提供的源码模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: rayer@88.com),我们会及时删除,给您带来的不便,我们深表歉意!
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.zyfx8.cn",如遇到无法解压的请联系管理员!
本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
资源分享吧 » 详解Linux系统中的进程初始化配置文件inittab

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
织梦模板使用说明
你下载的织梦模板并不包括DedeCMS使用授权,根据DedeCMS授权协议,除个人非盈利站点外,均需购买DedeCMS商业使用授权。购买地址: http://www.desdev.cn/service-dedecms.html

发表评论

Copyright 2015-2020 版权所有 资源分享吧 Rights Reserved. 蜀ICP备14022927号-1
开通VIP 享更多特权,建议使用QQ登录