意见箱
恒创运营部门将仔细参阅您的意见和建议,必要时将通过预留邮箱与您保持联络。感谢您的支持!
意见/建议
提交建议

linux运行级别定义在什么文件中

来源:恒创科技 编辑:恒创科技编辑部
2023-12-01 22:32:59

这篇“linux运行级别定义在什么文件中”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“linux运行级别定义在什么文件中”文章吧。

linux运行级别定义在“/etc/inittab”配置文件中。“/etc/inittab”是linux初始化文件系统时,init初始化程序用到的配置文件;该配置文件只能用来设置系统的默认运行级别,也就是系统开机后会进入那个运行级别。


linux运行级别定义在什么文件中

本教程操作环境:linux5.9.8系统、Dell G3电脑。

什么是运行级别呢?

其实 Linux 是通过运行级别来确定系统启动时到底启动哪些服务的。

Linux 默认有 7 个运行级别,具体如表 1 所示。

表 1 运行级别 运行级别 含 义 0 关机 1 单用户模式,可以想象为 Windows 的安全模式,主要用于系统修复 2 不完全的命令行模式,不含 NFS 服务 3 完全的命令行模式,就是标准字符界面 4 系统保留 5 图形模式 6 重新启动

linux运行级别定义在哪个文件中

linux运行级别定义在“/etc/inittab”配置文件中。

/etc/inittab 配置文件只能用来设置系统的默认运行级别,也就是系统开机后会进入那个运行级别

/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字段指定特定的值。

runlevel0是让init关闭所有进程并终止系统。
runlevel1是用来将系统转到单用户模式,单用户模式只能有系统管理员进入,在该模式下处理那些在有登录用户的情况下不能进行更改的文件,改runlevel的编号1也可以用S代替。
runlevel2是允许系统进入多用户的模式,但并不支持文件共享,这种模式很少应用。
runlevel3是最常用的运行模式,主要用来提供真正的多用户模式,也是多数服务器的缺省模式。
runlevel4一般不被系统使用,用户可以设计自己的系统状态并将其应用到runlevel4阶段,尽管很少使用,但使用该系统可以实现一些特定的登录请求。
runlevel5是将系统初始化为专用的XWindow终端。对功能强大的Linux系统来说,这并不是好的选择,但用户如果需要这样,也可以通过在runlevel启动来实现该方案。
runlevel6是关闭所有运行的进程并重新启动系统。

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,v1.912002/01/2513:35:21miquelsExp$

代码如下:

#Thedefaultrunlevel.
id:2:initdefault:#表示当前缺省运行级别为2

代码如下:

#Boot-timesystemconfiguration/initializationscript.
#Thisisrunfirstexceptwhenbootinginemergency(-b)mode.
si::sysinit:/etc/init.d/rcS#系统初始化的进程

代码如下:

#Whattodoinsingle-usermode.
~~:S:wait:/sbin/sulogin

代码如下:

#/etc/init.dexecutestheSandKscriptsuponchange
#ofrunlevel.
#
#Runlevel0ishalt.
#Runlevel1issingle-user.
#Runlevels2-5aremulti-user.
#Runlevel6isreboot.

代码如下:

l0:0:wait:/etc/init.d/rc0
l1:1:wait:/etc/init.d/rc1
l2:2:wait:/etc/init.d/rc2
l3:3:wait:/etc/init.d/rc3
l4:4:wait:/etc/init.d/rc4
l5:5:wait:/etc/init.d/rc5
l6:6:wait:/etc/init.d/rc6
#Normallynotreached,butfallthroughincaseofemergency.
z6:6:respawn:/sbin/sulogin

代码如下:

#WhattodowhenCTRL-ALT-DELispressed.#在启动过程中是否允许按CTRL-ALT-DELETE重启系统
#ca:12345:ctrlaltdel:/sbin/shutdown-t1-a-rnow

代码如下:

#Actiononspecialkeypress(ALT-UpArrow).
#kb::kbrequest:/bin/echo"KeyboardRequest--edit/etc/inittabtoletthiswork."

代码如下:

#Whattodowhenthepowerfails/returns.
pf::powerwait:/etc/init.d/powerfailstart
pn::powerfailnow:/etc/init.d/powerfailnow
po::powerokwait:/etc/init.d/powerfailstop

代码如下:

#/sbin/gettyinvocationsfortherunlevels.
#
#The"id"fieldMUSTbethesameasthelast
#charactersofthedevice(after"tty").
#
#Format:
#<id>:<runlevels>:<action>:<process>
#
#NotethatonmostDebiansystemstty7isusedbytheXWindowSystem,
#soifyouwanttoaddmoregetty'sgoaheadbutskiptty7ifyourunX.
#getty进程来提供虚拟终端设备的服务
1:2345:respawn:/sbin/getty38400tty1

代码如下:

#标签字段的值是1,1是设备tty1的数字后缀,tty1与相应的进程相关联,该getty进程可以启动的runlevel是2,3,4和5,当该进程终止时,init马上就重新启动它。启动进程的路径名是/sbin/getty,该进程是实现虚拟终端支持的最小版本的getty,为tty1提供启动虚拟设备的进程。
2:23:respawn:/sbin/getty38400tty2
#3:23:respawn:/sbin/getty38400tty3
#4:23:respawn:/sbin/getty38400tty4
#5:23:respawn:/sbin/getty38400tty5
#6:23:respawn:/sbin/getty38400tty6
#Examplehowtoputagettyonaserialline(foraterminal)
#
#T0:23:respawn:/sbin/getty-LttyS09600vt100
T1:23:respawn:/sbin/getty-LttyS1115200vt100
#Examplehowtoputagettyonamodemline.
#
#T3:23:respawn:/sbin/mgetty-x0-s57600ttyS3

示例

#Begin/etc/inittab
id:3:initdefault:
si::sysinit:/etc/rc.d/init.d/rcsysinit
l0:0:wait:/etc/rc.d/init.d/rc0
l1:S1:wait:/etc/rc.d/init.d/rc1
l2:2:wait:/etc/rc.d/init.d/rc2
l3:3:wait:/etc/rc.d/init.d/rc3
l4:4:wait:/etc/rc.d/init.d/rc4
l5:5:wait:/etc/rc.d/init.d/rc5
l6:6:wait:/etc/rc.d/init.d/rc6
ca:12345:ctrlaltdel:/sbin/shutdown-t1-a-rnow
su:S016:once:/sbin/sulogin
1:2345:respawn:/sbin/agettytty19600
2:2345:respawn:/sbin/agettytty29600
3:2345:respawn:/sbin/agettytty39600
4:2345:respawn:/sbin/agettytty49600
5:2345:respawn:/sbin/agettytty59600
6:2345:respawn:/sbin/agettytty69600
#End/etc/inittab

以上就是关于“linux运行级别定义在什么文件中”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注恒创行业资讯频道。

推荐阅读:linux几个运行级别

上一篇: linux能不能复制文件夹 下一篇: Redis有序集合如何使用