Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6543978
  • 博文数量: 1005
  • 博客积分: 8199
  • 博客等级: 中将
  • 技术积分: 13071
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-25 20:19
个人简介

脚踏实地、勇往直前!

文章分类

全部博文(1005)

文章存档

2020年(2)

2019年(93)

2018年(208)

2017年(81)

2016年(49)

2015年(50)

2014年(170)

2013年(52)

2012年(177)

2011年(93)

2010年(30)

分类: 系统运维

2012-07-19 21:08:13

系统启动后可以运行在不同的级别上.有时候为了进行系统维护或者为了运行某些特殊的程序,我们需要改变系统的运行级别.在本文中,你将了解到如何检测系统的运行级别.如何改变系统的运行级别等知识.

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 系统显示的格式类似于这样(可能有更多空格):
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://hi.baidu.com/hfjc2008/blog/item/5b37b40faaadf1cdaa64576a.html

阅读(4393) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~