AIX运行级别介绍

运行级别 
在操作系统上运行维护之前,或者修改系统运行级别之前,需检查各种不同的运行级别。运行级别是一个软件配置,只允许一组选定的进程存在。
识别系统运行级别
本节描述如何识别系统正运行在什么样的运行级别,和如何查看之前运行级别的历史。系统可运行于如下表所列运行级别:
Run level  Description          
0-1   保留,为操作系统将来所用
2   包括运行于多用户环境下的所有终端进程(process and daemons),此为默认的运行级别  
3-9   可根据用户偏爱[preferences]定义
a,b,c,h   非真正的运行级别,init 命令不能请求整个系统进入这些运行级别。更多信息参考3、/etc/inittab 文件  
S,s,M,m   维护模式,系统从别的运行级别进入维护模式时,只有系统控制台可作为终端使用
识别当前的运行级别
命令行下,输入如下命令:
# cat /etc/.init.state
2
#
系统显示一位数字,就是系统当前的运行级别。
显示前面的运行级别历史
可使用 fwtmp 命令显示前面运行级别的历史。
1. 作为 root 用户登录。
2. 键入如下命令,系统显示如下信息:
# /usr/lib/acct/fwtmp 
改变系统运行级别

系统首次启动时,进入 /etc/inittab 文件中 initdefault 条目定义的默认运行级别。系统以该运行级别运行,直到收到变更运行级别的信号。

可执行 lsitab 命令查找系统默认的运行级别:

# lsitab init
init:2:initdefault:
#
要改变运行,按下列步骤:

1. 检查 /etc/inittab 文件,确认要改变的运行级别支持正在运行的进程。getty 进程特别重要,因为其控制着系统控制台和其他登录的终端线访问。

确定 getty 进程在所有运行级别下可用。

2. 使用 wall 命令通知所有的用户,打算修改运行级别,请求用户注销。
3. 使用 telinit 命令,以想切换到的运行级别作为参数,例如:
# telinit M
telinit 命令

telinit 命令通过一个单字符的参数控制 init 进程的操作,发信号给 init 进程以执行适当的操作。通常,telinit 命令置系统于特定的运行级别。

telinit 命令作为指令传递给 init 进程的参数如下:

0-9  告知 init 进程,置系统于 0-9 中的一个运行级别
S,s,M,m  告知 init 进程,进入维护模式
a,b,c  告知 init 进程,只检查 /etc/inittab 文件中 run level 字段有a, b, c 的那些记录
Q,q  告知 init 进程,重新检查整个 /etc/inittab 文件
N  发送一个信号,停止正在 respawned 的进程
例如,要进入维护模式,键入如下命令:
# telinit M
注意:要进入维护模式,也可使用 shutdown -m 命令。
执行运行级别脚本
运行级别脚本可使用户在改变运行级别时,启动和停止选定的应用程序。以 K 为开头的脚本是停止脚本,以 S 为开头的脚本是启动脚本。
这些脚本位于其所属特定运行级别的子目录下,各子目录的格式为rcn.d,n 代表运行级别,如下所示:
/etc/rc.d/rc2.d
/etc/rc.d/rc3.d
/etc/rc.d/rc4.d
/etc/rc.d/rc5.d
/etc/rc.d/rc6.d
/etc/rc.d/rc7.d
/etc/rc.d/rc8.d
/etc/rc.d/rc9.d

/etc/rc.d/rc 脚本将运行指定目录下找到的启动脚本,并在运行级别改变时执行。脚本首先运行停止应用程序脚本,然后运行启动应用程序脚本。



转载自:http://bbs.chinaunix.net/thread-1302217-1-1.html


补充信息:


系统启动后可以运行在不同的级别上。有时候为了进行系统维护或者为了运行某些特殊的程序,我们需要改变系统的运行级别。

在本文中,你将了解到如何检测系统的运行级别。如何改变系统的运行级别等知识。

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 中的记录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值