linux 启动脚本rcs解析

在inittab文件中定义系统初始化脚本:  ::sysinit:/etc/init.d/rcs
sysinit:告诉init程序运行/etc/init.d/rcs脚本文件来初始化系统,rcs脚本中执行/etc/rc3.d/目录下的所有的rc启动脚本。/etc/rc3.d/目录中的这些启动脚本实际上都是一些链接文件,而不是真正的rc启动脚本,真正的rc启动脚本实际上都是放在/etc/init.d/目录下。而这些rc启动脚本有着类似的用法,它们一般能接受start、stop、restart、status等参数。

/etc/rc.d/rc3.d/中的rc启动脚本通常是K或S开头的链接文件,对于以S开头的启动脚本,将以start参数来运行。而如果发现存在相应的脚本也存在K打头的链接,而且已经处于运行态了(以/var/lock/subsys/下的文件作为标志),则将首先以stop为参数停止这些已经启动了的守护进程,然后再重新运行。这样做是为了保证是当init改变运行级别时,所有相关的守护进程都将重启。

#!/bin/sh


#检查/etc/rc3.d/目录,看是否有以S开头并且紧跟两个字符(实际上

#一般是两个数字0-99)命名的非普通(! -f"$i")文件,如果有则根据

#文件的类型作出两个选择

# 1、是.sh结尾的脚本时执行

# 2、如果不是.sh结尾的脚本,则传递给start参数执行这个文件
for i in /etc/rc3.d/S??* ;do

     # 如果文件不存在则继续下一次循环
     [ ! -f "$i" ] && continue

     case "$i" in
	     *.sh)
	         # Source shell script for speed.
	         (
				#trap命令用于指定在接收到信号后将要采取的动作
				#trap - INT QUIT TSTP , 捕捉INT、QUIT、TSTP信号并清除这些信号
				
		         trap - INT QUIT TSTP
		         set start
		         . $i
	         )
	         ;;
	     *)
	         # No sh extension, so fork subprocess.
	         $i start
	         ;;
     esac
done

/etc/rc.S/rcS脚本执行结束.返回/inittab .

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值