内容:本文涉及两部分,Linux下runlevel介绍以及runlevel命令
相关引用内容:
runlevel命令
runlevel用于找到以前和当前的系统运行级别
命令行语法
runlevel [utmp]
描述
runlevel通过读取系统的utmp文件来定位runlevel记录,然后输出用空格分割的以前和当前的runlevel。
如果之前没有runlevel,那么之前的runlevel值用N表示。如果utmp文件不存在或者没有发现runlevel记录,则输出错误并退出。
可以在RC脚本中使用runlevel命令来替代“who -r”命令。然而在新版本的init(man 8 init)中可以使用环境变量RUNLEVEL和PREVLEVEL.
Linux中的runlevel
runlevel是一个系统的软件配置,只允许存在所选择的进程组。由init为每个runlevel生成的进程是在/etc/inittab文件中定义的。
runlevel是实现Unix System V风格初始化的计算机操作系统中的一种操作模式。通常,存在七个runlevel(0~6);虽然最多可以使用10个(0-9)。S有时被用作其中一个级别的同义词。
启动时只执行一个runlevel;runlevel不是挨个地执行(比如依照按照2,3,4的顺序执行)。
runlevel的值
runlevel可以是:0–6及S(a.k.a. s,runlevels中S和s是相同的。在内部,它们是相同运行级别的别名)。
runlevels7-9也是有效的,尽管没有真正的文档记录。因为传统的UNIX版本不是用它们。
如果要修改runlevel可以使用telinit命令,telinit会发送适当的信号给init,告诉init切换到哪个runlevel,记住修改runlevel需要特权用户。关于telinit和init的介绍:查看:《telinit and init》
runlevel中S, 0, 1, 6是保留的。他们的作用如下:
runlevel 0: 用作停止(halt)系统;
runlevel 1: ‘单用户模式’,用于管理任务的模式;
runlevel 2: ‘多用户模式’,不配置网络接口,不导出网络服务。
runlevel 3: ‘有网络的多用户模式’,正常启动系统。
runlevel 4: 未使用/用户可自定义,用于特殊目的。
runlevel 5: 使用适当的display manager正常启动系统(带GUI)
runlevel 6: 用作系统重启;
系统启动后由runlevel S进入2-5的运行级别,否则只有存在需要管理员修复的错误才会进入单用户模式。
当启动runlevel S(boot后)或runlevel 1(从多用户模式切换过来)时,系统会进入‘单用户模式’。
更多的信息
查看 man 8 shutdown、man 5 inittab、《shutdown》、《inittab》