SA 239 翻译 第九章 执行启动和关闭程序( 四 )


/sbin/rc2 – 启动系统守护进程,使系统进入运行级别2(多用户模式) 。
/sbin/rc3 – 为运行级别3启动NFS和其他网络资源服务器
/usr/lib/saf/sac – 启动设备端口监视器,例如ASCII终端和调制解调器 。
/usr/lib/saf/ttymon – 启动ttymon进程,监控有登陆请求的控制台 。在所有系统上默认的terminal_type都像在/etc/inittab中列出的那样是sun 。
控制启动进程
Solaris OE提供一系列运行控制脚本(rc)以停止和启动同运行级别相关的典型的程序 。
/sbin目录
每一个运行级别相关的rc脚本都位于/sbin目录 。
Rc脚本被init进程执行以设置变量 。测试环境和调用其他脚本启动和停止指定运行级别的进程 。
Rc脚本rc0,rc5,rc6彼此是硬连接的 。注意每一个脚本都被指派了相同的脚本inode号 。
Solaris OE在/etc目录下为后向兼容提供了相同系列的rc脚本 。这些脚本是到/sbin目录的rc脚本的符号连接 。
运行控制脚本和他们的功能
/sbin/rc0 运行/etc/rc0.d/K*脚本然后/etc/rc0.d/S*脚本执行下面任务:
停止系统服务和守护进程
终止所有正在运行的进程
卸载所有文件系统
启动脚本应该仅仅完成快速系统清除功能
/sbin/rc1 运行/etc/rc1.d/S*脚本完成下面的任务:
停止系统服务和守护进程
终止所有正在运行的用户进程
卸载所有远程文件系统
如果前一运行级别是S,挂载所有本地文件系统
/sbin/rc2 运行/etc/rc2.d/S*脚本完成下面的任务:
如果前一运行级别是S,挂载所有本地文件系统
删除/tmp目录下的任何文件和子目录
配置系统帐号
配置默认路由
启动大部分系统守护进程
/sbin/rc3 运行/etc/rc3.d/K*脚本,然后运行/etc/rc3.d/S*脚本,完成下面的任务:
清理/etc/dfs/sharetab文件
共享/etc/dfs/dfstab文件中列出的所有资源
启动nfsd和mountd命令
/sbin/rc5 /sbin/rc6 运行/etc/rc0.d/K*脚本,然后运行/etc/rc0.d/S*脚本,完成下面的任务:
停止系统服务和守护进程
终止所有正在运行的进程
卸载所有文件系统
启动仅仅完成快速系统清除功能的脚本
/sbin/rcS 运行/etc/rcS.d脚本使系统到运行级别S:
建立一个最小网络
挂载/usr,/var和/var/adm目录,如果他们是分离的文件系统
设置系统名
检查/(root)和/usr文件系统
挂载伪文件系统(/proc和/dev/fd)
为重新配置启动重建设备条目
挂载单用户模式需要的其他文件系统
/etc/rc#.d目录
/etc/rc#.d目录包含启动和停止相应运行级别的系统进程附加的脚本
启动运行控制脚本
/etc/rc#.d启动脚本一直以ls命令排序的次序运行 。以S开头的文件被运行以启动一个系统进程 。这些脚本被适当的/sbin/rc#调用,这个脚本传递参数“start”给他们,如果他们的名字并不是以.sh结尾 。没有参数被传递到.sh脚本 。这些文件名的格式如下:
S##name-of-script
停止运行控制脚本
/etc/rc#.d停止运行脚本(也被看作是kill脚本)总是以命令ls排序的次序运行 。用K开头的文件被运行以停止或杀死一个系统进程 。这些脚本被合适的/etc/rc#调用,这个脚本传送参数“stop”给他们,如果他们的名字并不是以.sh结尾的 。这些文件命名格式如下:
K##name-of-script
注意——以小写的k或s开头的文件名会被init进程忽略的,他们不会被执行 。为使一个脚本不被运行,用合适的小写字母重命名它 。
/etc/init.d目录
运行控制脚本位于/etc/init.d目录
运行控制脚本/etc/init.d/cron是到相应的运行控制脚本/etc/rc2.d/S75crom的硬连接 。
每一个运行级别有单独脚本的好处是你能作为root用户在/etc/init.d目录中单独运行脚本 。
你能停止或启动一个进程而不用改变系统运行级别 。

推荐阅读