本文将详尽描述不同的运行级在启动中的作用。对于这些在DOS/Win9x/NT平台下的中级用户而言,Linux或许是一个怪物。没有config.sys虚拟主机 linux,没有autoexec.bat,具有个人特色的机器配置不晓得从何开始。须要说明的是,好多人觉得Linux是Unix的一个克隆,然而,这些说法对于Linux是不公正的。Linux比Unix愈发开放,功能更强悍。我们应当称之为GNU/Linux。Linux启动时,运行一个称作init的程序,之后由它来启动前面的任务,包括多用户环境,网路等。这么,究竟哪些是运行级呢?简单的说,运行级就是操作系统当前正在运行的功能级别。这个级别从1到6,具有不同的功能。这种级别在/etc/inittab文件里指定。这个文件是init程序寻觅的主要文件,最先运行的服务是这些置于/etc/rc.d目录下的文件。大多数的Linux发行版本中,启动脚本坐落/etc/rc.d/init.d。这种脚本被ln命令来联接到/etc/rc.d/rcn.d目录(这儿的n就是运行级0-6)。诸如:

/etc/rc.d/rc2.d下边的S1010network就是联接到/etc/rc.d/init.d下的network脚本的

为此,我们可以晓得,rc2.d下边的文件就是和运行级2有关的。文件开头的S代表start就是启动服务的意思,前面的数字10就是启动的次序。比如,在同一个目录下,你还可以见到S8080postfix这个文件linux运行级别,80就是次序在10之后,由于没有启动网路的情况下,启动postfix是没有任何作用的。再看一下/etc/rc.d/rc3.d,可以看见文件S6060nfslocklinux vps,然而这个文件不存在于/etc/rc.d/rc2.d目录下。NFS要用到这个文件,通常用在多用户环境下,所以放到rc3.d目录下。另外,在/etc/rc.d/rc2.d还可以见到这些K开头的文件,比如

/etc/rc.d/rc2.d/K45named,K代表kill

标准的Linux运行级为3或则5,倘若是3的话,系统就在多用户状态。假如是5的话,则是运行着XWindow系统。假如目前正在3或5,而你把运行级增加到2的话,init都会执行K4545named脚本。这么到底linux的运行级别是哪些呢?简单的说,运行级就是操作系统当前正在运行的功能级别。这个级别从0到6,具有不同的功能。这种级别在/etc/inittab文件里指定。这个文件是init程序寻觅的主要文件,最先运行的服务是这些置于/etc/rc.d目录下的文件。不同的运行级定义如下:(可以参考CentOS上面的/etc/inittab)#缺省的运行级,linux用到的运行级别如下:

linux运行级别与进程管理_linux中的运行级别_linux运行级别

引用

#0-停机(千万不要把initdefault设置为0)

#1-单用户模式

#2-多用户,并且没有NFS

linux运行级别_linux中的运行级别_linux运行级别与进程管理

#3-完全多用户模式

#4-没有用到

#5-X11

#6-重新启动(千万不要把initdefault设置为6)

对各个运行级的详尽解释:

引用

0为停机,机器关掉。

1为单用户模式,如同Win9x下的安全模式类似。

2为多用户模式,并且没有NFS支持。

3为完整的多用户模式,是标准的运行级。

4通常不用,在一些特殊情况下可以用它来做一些事情。诸如在电脑笔记本的电瓶耗尽时,可以切换到这个模式来做一些设置。

5就是X11,进到XWindow系统了。

linux中的运行级别_linux运行级别_linux运行级别与进程管理

6为重启,运行init6机器才会重启

不同的运行级有不同的好处,也应当按照自己的不怜悯形来设置。诸如,假如我们遗失了root口令,这么可以让机器启动步入单用户模式来设置。在启动后的lilo提示符下输入:

init=/bin/shrw

就可以使机器步入运行级1,并把root文件系统挂为读写。他会跳过所有系统认证,让你使用passwd程序来改变root口令,之后启动到一个新的运行级。其实lilo提示符下你也可以在boot:输入linuxsingle步入单用户状态,而且单用户模式和传入init=/bin/sh是不同的单用户模式会做rc.sysinit的初始化,就是系统的最基本初始化linux运行级别,例如检测文件系统,开启swap,加载模块,等等而传入init=/bin/sh则不做任何初始化,只是给你个shell。

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复