linux运行级别定义在哪个文件中
发布时间 - 2022-05-12 00:00:00 点击率:次linux运行级别定义在“/etc/inittab”配置文件中。“/etc/inittab”是linux初始化文件系统时,init初始化程序用到的配置文件;该配置文件只能用来设置系统的默认运行级别,也就是系统开机后会进入那个运行级别。
本教程操作环境:linux5.9.8系统、Dell G3电脑。
什么是运行级别呢?
其实 Linux 是通过运行级别来确定系统启动时到底启动哪些服务的。
Linux 默认有 7 个运行级别,具体如表 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字段指定特定的值。
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
示例
# 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
相关推荐:《Linux视频教程》
# linux
# windows
# 配置文件
# 重新启动
# 命令行
# 启动时
# 按下
# 后会
# 重启
# 多用户
# 文件系统
# 自己的
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析
网站页面设计需要考虑到这些问题
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
高防服务器租用如何选择配置与防御等级?
如何自定义建站之星网站的导航菜单样式?
长沙做网站要多少钱,长沙国安网络怎么样?
如何获取免费开源的自助建站系统源码?
Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】
Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】
如何确认建站备案号应放置的具体位置?
HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】
JS弹性运动实现方法分析
JavaScript数据类型有哪些_如何准确判断一个变量的类型
Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤
Java解压缩zip - 解压缩多个文件或文件夹实例
如何在建站主机中优化服务器配置?
谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复
中山网站制作网页,中山新生登记系统登记流程?
Swift中swift中的switch 语句
Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转
php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】
创业网站制作流程,创业网站可靠吗?
如何彻底删除建站之星生成的Banner?
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
Laravel如何操作JSON类型的数据库字段?(Eloquent示例)
Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】
Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?
专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?
Laravel如何实现多对多模型关联?(Eloquent教程)
如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框
Laravel如何使用Blade组件和插槽?(Component代码示例)
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
浅述节点的创建及常见功能的实现
Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】
如何快速启动建站代理加盟业务?
Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能
Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用
Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】
HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】
ChatGPT 4.0官网入口地址 ChatGPT在线体验官网
Laravel如何与Pusher实现实时通信?(WebSocket示例)
Laravel如何实现一对一模型关联?(Eloquent示例)
香港服务器网站卡顿?如何解决网络延迟与负载问题?
如何制作一个表白网站视频,关于勇敢表白的小标题?
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
详解vue.js组件化开发实践
b2c电商网站制作流程,b2c水平综合的电商平台?
Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布
Laravel怎么使用Intervention Image库处理图片上传和缩放


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