「runlevel」

  LINUX MANUAL PAGES

内容:本文涉及两部分,Linux下runlevel介绍以及runlevel命令

相关引用内容:

runlevel命令

runlevel用于找到以前和当前的系统运行级别

命令行语法

runlevel [utmp]

utmp 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 S: 用在系统boot时的初始化;

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》