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