- 论坛徽章:
- 0
|
二、系统的启动和关闭
2.1系统的启动的三个阶段:
系统加电后首先进入PROM启动过程,由PROM运行自检程序并装载启动块程序(Bootblk);
然后进入系统核心启动过程,由启动块程序加载UNIX内核;
最后进入/sbin/init启动过程,按照/etc/inittab文件中定义的选项加载文件系统和启动系统程序。
2.2 UNIX系统运行的级别
0 进入PROM监控状态,相当于关闭系统
5 关闭系统,如果可能的话自动关闭电源
6 关闭系统并重新启动,进入3级多用户系统
1 进入单用户状态,加载多用户状态所需要的文件,其他用户不能登录,用于系统管理
S,s 进入单用户状态,不加载多用户状态所需要的文件,其他用户不能登录 3 进入多用户状态,资源可以通过网络共享,是正常情况下的多用户状态。
4 一种多用户状态,通常不用
Q,q 使init程序重新执行/etc/inittab
检查当前系统运行的级别: who –r
2.3改变当前系统运行的级别
init [0123456QqSs],参数必须指定。例如:
init 0(退出系统)
init s(进入单用户状态)
init 6(reboot系统,进入多用户状态)
2.4关闭系统
2.4.1 shutdown
shutdown [-y] [-g seconds] [-i run-level] [message]
-y:非交互式关闭。指定该选项后shutdown在执行过程中不再询问管理员
-g:指定多少秒以后系统关闭,在此期间系统每隔30秒向用户发出一次系统将要关闭的通知。缺省时间为60秒。
-i:系统关闭后进入的运行状态,缺省值为S(单用户)。message:向用户发出的警告信息。
2.4.2 halt
halt [-lnqy]
正常情况下halt执行sync命令刷新磁盘,终止所有进程,然后关闭系统(进入PROM监控状态)。
-n:不执行sync命令
-q:快速halt,强行关闭系统
2.4.3重新启动系统
reboot
reboot首先执行sync命令,然后重新加载系统。F相关的文件和目录
2.5 /etc/inittab
由init进程运行时使用,告诉init进程对每个运行级别应启动的进程和应执行的动作。
inittab的格式为:
id : rstate : action : process
•id是inittab中每一项的唯一标识;
•rstate表示运行级别需要运行该项,可以包括多个运行级别;如果rstate为空,则表示所有运行级别都要运行该项;
•action表示如何执行后边的进程(或程序)。
•process表示该项所要运行的shell命令。
action表示如何执行后边的进程(或程序)。action有以下选项:
respawn:如果该进程不存在,也就是说该进程没有被激活,那么激活该进程,不必等待该进程结束,继续搜索inittab中的其它项;如果存在该进程,那么不做任何事情,继续搜索inittab中的其它项;
wait:启动该进程并等待它结束;
powerfail:仅当init接收到断电信号(SIGPWR)时才执行该进程;sysinit :在init访问控制台之前启动该进程,init等待该进程结束后再搜索其它项。
bash-2.05# more /etc/inittab
ap::sysinit:/sbin/autopush -f /etc/iu.ap
ap::sysinit:/sbin/soconfig -f /etc/sock2path
fs::sysinit:/sbin/rcS sysinit >/dev/msglog 2<>/dev/msglog </dev/console
is:3:initdefault:
p3:s1234:powerfail:/usr/sbin/shutdown -y -i5 -g0 >/dev/msglog 2<>/dev/msglog
sS:s:wait:/sbin/rcS >/dev/msglog 2<>/dev/msglog </dev/console
s0:0:wait:/sbin/rc0 >/dev/msglog 2<>/dev/msglog </dev/console
s1:1:respawn:/sbin/rc1 >/dev/msglog 2<>/dev/msglog </dev/console
s2:23:wait:/sbin/rc2 >/dev/msglog 2<>/dev/msglog </dev/console
s3:3:wait:/sbin/rc3 >/dev/msglog 2<>/dev/msglog </dev/console
s5:5:wait:/sbin/rc5 >/dev/msglog 2<>/dev/msglog </dev/console
s6:6:wait:/sbin/rc6 >/dev/msglog 2<>/dev/msglog </dev/console
fw:0:wait:/sbin/uadmin 2 0 >/dev/msglog 2<>/dev/msglog </dev/console
of:5:wait:/sbin/uadmin 2 6 >/dev/msglog 2<>/dev/msglog </dev/console
rb:6:wait:/sbin/uadmin 2 1 >/dev/msglog 2<>/dev/msglog </dev/console
sc:234:respawn:/usr/lib/saf/sac -t 300
co:234:respawn:/usr/lib/saf/ttymon -g -h -p "`uname -n` console login: " -T sun -d /dev/console -l console -m ldterm,ttcompat
bash-2.05#
2.6 /sbin/rc*
rcS:启动时系统要安装的文件系统,一般是根目录和/usr目录
rc0:卸下所有文件系统,系统关闭时运行
rc1:运行shutdown,进入单用户状态
rc2:启动本地文件系统(不可共享)
rc3:启动rfs(远程文件系统),nfs(可共享的网络文件系统)
rc5:关闭系统
rc6:同rc5
•目录rcS.d,rc0.d,rc1.d,rc2.d,rc3.d,init.d等。
说明在系统进入或退出相应级别时所要做的动作。其中S*是指系统进入相应级别时所要做的动作,K*是指系统退出相应级别时所要做的动作。序号的大小表示启动或停止的先后 |
|