分类: LINUX
2014-11-20 10:35:09
例如在大多数linux操作系统下一共有如下6个典型的运行级别:
0 – Halt 停机(不要将0设置为缺省,否则服务器启动后就会马上关闭)
1 - Single user mode 单用户模式
2 - Multi-user 不带NFS的多用户模式 (无网络连接)
3 - Full multi-user mode 完全多用户模式(启动网络连接)
4 – Unused 未使用
5 - X11 多用户图形界面
6 – Reboot 重启(不要将6设置为缺省,否则服务器会不断地重启)
当系统启动时,6个运行级别通过对应的脚本文件来启动相应的服务
/etc/rc0.d -> Run level 0
/etc/rc1.d -> Run level 1
/etc/rc2.d -> Run level 2
/etc/rc3.d -> Run level 3
/etc/rc4.d -> Run level 4
/etc/rc5.d -> Run level 5
/etc/rc6.d -> Run level 6
可以使用init(或telinit)命令切换运行模式:
查看修改启动模式run level:
修改文件/etc/inittab 来设置机器启动的runlevel
简单来说,运行级别就是让一些程序在一个级别启动,而另外一个级别的时候不启动。/etc/rc.d/init.d中放着各种脚本,每个运行级别对 应的文 件/etc/rc.d/rcN.d中,选择你想在该级别运行的脚本,从/etc/rc.d/init.d中链接过来。而运行级别的文件定义在/etc /inittab下面。
init是Linux系统里的根进程,是系统所有进程的祖先。它的主要作用是根据记录在/etc/inittab里的一个脚本(script)程序产生进程。这个文件通常用于控制用户的登录模式。Linux系统的有效登录模式有0~9共十种,不过沿用UNIX系统的至多6种的限制,一般只有1到6有效。
运行级别就是操作系统当前正在运行的功能级别。这个级别从1到6 ,具有不同的功能。这些级别在/etc/inittab文件里指定。这个文件是init程序寻找的主要文件,最先运行的服务是那些放在/etc/rc.d 目录下的文件。
很多人认为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下面的S10network就是连接到/etc/rc.d/init.d下的network脚本的。
因此,我们可以知道,rc2.d下面的文件就是和运行级2有关的。文件开头的S代表start就是启动服务的意思,后面的数字10就是启动的顺序。例如,在同一个目录下,你还可以看到S80postfix这个文件,80就是顺序在10以后,因为没有启动网络的情况下,启动postfix是没有任何作用的。
再看一下/etc/rc.d/rc3.d,可以看到文件S60nfslock,但是这个文件不存在于/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的话,则是运行着X Window 系统。如果目前正在3或5,而你把运行级降低到2的话,init就会执行K45named脚本。
不同的运行级定义如下:(可以参考Linux里面的/etc/inittab)
# 缺省的运行级,RHS用到的级别如下:
# 0 - 停机 ,机器关闭。
# 1 - 单用户模式 。就像Win9x下的安全模式类似
# 2 - 多用户,但是没有NFS 进入无网络服务的多用户模式
# 3 - 完全多用户模式 ,是标准的运行级。
# 4 - 没有用到 ,一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本 电脑的电池用尽时,可以切换到这个模式来
# 5 - X11 ,进到X Window系统了。
# 6 - 重新启动 ,运行init 6机器就会重启
init一般在系统启动时自动运行,也可以由root用户调用。它的作用是切换系统的运行状态。它的命令格式是:init NUM〈回车〉,其中NUM表示1到6的任一数字。
6种模式中有两种是系统内定的:
0:停止系统运行。init 0〈回车〉相当于 halt〈回车〉。
6:重启系统。init 6〈回车〉相当于 reboot〈回车〉。
在终端中,我们可以键入
init <运行级别>
来切换运行级别来达到某种目的,如输入 init 0 使系统关机,输入 init 6 使系统重启。
如果你使用的是文本登录屏幕,你是在运行级别 3 中操作。如果你使用的是图形化登录屏幕,你是在运行级别 5 中操作。
默认的运行级别可以通过修改 /etc/inittab 文件来改变,该文件在接近开头的地方有一行与下面相似:
id:5:initdefault:
把这一行中的数字改成你想要的运行级别。所做改变在系统重新引导之后才会生效。
要立即改变运行级别,使用命令 telinit,其后跟随运行级别数字。你必须是根用户才能使用这项命令