系统启动后可以运行在不同的级别上.有时候为了进行系统维护或者为了运行某些特殊的程序,我们需要改变系统的运行级别.在本文中,你将了解到如何检测系统的运行级别.如何改变系统的运行级别等知识.
1、什么是系统的运行级别?
系统的运行级别是一种软件设置.这种软件设置是用来控制在该设置下,只有被选择的一组进程才能存在.换句话说,系统运行在不同的运行级别上,那么系统中可以有不同的进程在运行.
系统的运行级别包括以下这些级别中的某一个:
0-9:
这10种运行级别代表着系统的10种设置.当我们把系统的运行级别从一级切换到另一级别的时候,所有当前运行级别的进程都会被杀死,并且新级别中的进程将会被启动.那么具体来说:
0-1级别:这是操作系统为未来的使用所保留的级别,目前不会用到.
2
级别:在多用户环境下,这个级别包含了所有的终端进程和各种后台进程.在多用户的环境之下,/etc/inittab文件会指定要init命令为每一个终
端建立一个进程.而对于系统的控制台来说,控制台设备的驱动程序可以保证在任何运行级别下运行,这样的话其他级别之下能够保证控制台一定可用.
3-9级别:这些级别用户可以自行定义.
系统重新启动,或者切换到新级别下,哪些程序被运行,将取决于/etc/inittab文件的内容.
2、检测当前的运行级别.
在命令行提示符下,执行命令:
cat
/etc/.init.state
系统会提示一个一位数字,例如:2.这就是当前系统的运行级别.在系统正常启动的情况之下,系统的运行级别是2.
3、显示系统以前运行级别的历史记录.
可以使用fwtmp命令来显示系统以前的运行级别的历史记录.具体的做法是:
首先以root用户登录到机器上
然后执行命令:
/usr/lib/acct/fwtmp
</var/adm/wtmp |grep run-level
系统显示的格式类似于这样(可能有更多空格):
run-level 2 0 1
0062 0123 697081013 Sun Feb 2 19:36:53 CST 2004
run-level 2 0 1 0062 0123
697092441 Sun Feb 2 22:47:21 CST 2004
run-level 4 0 1 0062 0123 698180044 Sat
Feb 15 12:54:04 CST 2004
run-level 2 0 1 0062 0123 698959131 Sun Feb 16
10:52:11 CST 2004
run-level 5 0 1 0062 0123 698967773 Mon Feb 24 15:42:53 CST
2004
这样我们就知道在什么时候,系统曾经运行于什么级别之上.上面的例子表示系统曾经依次进入过级别2,2,4,2,5.
4、改变系统的运行级别.
当系统安装完毕并且正常启动,系统默认会进入到缺省的运行级别2.缺省的运行级别是在/etc/inittab文件中定义的.您可以看到在该文件的第一行有一条语句:“init:2:initdefault:”这句表明了系统的默认级别设置为2.
系统运行级别的改变是用init命令来完成的.具体的用法是:
init
新级别
在 本文第一部分,我们已经讨论了10种不同的运行级别.系统在这10种运行级别切换的时候,会杀死当前所有进程,然后启动新级别上的进程.实质上,除了这
10种运行级别,还有其余的4种,它们分别是:a,b,c,q(Q).当使用init命令来切换系统到a,b,c三个运行级别的时候,系统并不会杀死当前
系统中的进程,而是把位于a,b,c三个运行级别的新的进程启动起来.q或者Q级别并不是一个新的级别,它们作为init的参数以后,作用是重新检查
/etc/inittab文件.用这个方法,我们可以很方便的不用重新启动机器来编辑/etc/inittab文件并且检查它.
要想改变系统的运
行级别,只需要执行“init
新级别”就可以了,新级别可以是0-9,a,b,c,q(Q),m(M)中的任何一个.m(M)表示进入维护模式.在改变之前,请仔细检查/etc
/inittab文件,确定新级别下能够启动的进程.特别需要注意的是getty登录进程,因为它负责用户的终端的登录.为了在各个运行级别下都能够让用
户登录系统,一般我们在/etc/inittab文件中把getty进程设置为在各级别下均能执行.
有关/etc/inittab文件的各种信息,您可以参考以下四个命令的man内容:
chitab(1)
- 改变 /etc/inittab 中的记录
lsitab(1) - 列出 /etc/inittab 中的记录
mkitab(1) - 生成
/etc/inittab 中的记录
rmitab(1) - 删除 /etc/inittab 中的记录
转自:http://blog.chinaunix.net/uid-77311-id-3280820.html
原文地址:http://www.cnblogs.com/zmlctt/p/3784199.html