一、运行级别
1、/sbin/rc*.d目录
对于每个定义的系统运行级别都会对应一个/sbin/rc*.d目录
eg:/sbin/rc1.d ------level 1
/sbin/rc2.d ------level 2
/sbin/rc3.d ------level 3
/sbin/rc*.d目录中包含“S”和“K”开头的脚步。“S”脚本用于启动服务,“K”脚本用于关闭服务。
注意:脚本后面的数字一般是“S”+“K”=1000;且“S”对应的“K”总是在“S”的下一级运行级别,如上例。
二、网络服务启动脚本(/sbin/init.d/*)
每个由/sbin/rc启动的服务在/sbin/init.d目录下都有一个Shell脚本。这些脚本包含了启动和关闭服务所需命令。/sbin.rc*.d目录下的文件只是符号连接到/sbin/init.d目录下的脚步。
eg:/sbin/rc1.d/K270cron -------/sbin/init.d/cron------/sbin/rc2.d/S730cron
控制变量=1 脚本将在启动/关闭时执行
控制变量=0 脚本将在启动/关闭时不执行
四、创建启动脚本实例
例:定制一个启动脚本/sbin/init.d/pfs_mountd
1、 cp /sbin/init.d/template /sbin/init.d/pfs_mountd
2、 vi /sbin/init.d/pfs_mountd
更改为:
'start_msg')
# Emit a _short_ message relating to running this script with
# the "start" argument; this message appears as part of the checklist.
echo "Starting the pfs_mountd subsystem"
;;
'stop_msg')
# Emit a _short_ message relating to running this script with
# the "stop" argument; this message appears as part of the checklist.
echo "Stopping the pfs_mountd subsystem"
;;
'start')
# source the system configuration variables
else
fi
# Check to see if this script is allowed to run...
if [ "$PFS_MOUNTD" != 1 ]; then
rval=2
else
# Execute the commands to start your subsystem
:
/usr/sbin/pfs_mountd &
set_return
fi
;;
'stop')
# source the system configuration variables
else
fi
# Check to see if this script is allowed to run...
if [ "$PFS_MOUNTD" != 1 ]; then
rval=2
else
:
# Execute the commands to stop your subsystem
kill $(ps -ef|grep /usr/sbin/pfs_mountd | grep -v grep |cut -c10-14)
set_return
fi
;;
PFS_MOUNTD=1 #(或=0)
4、 创建启动连接以便运行级别3启动服务,运行级别2杀死服务
ln -s /sbin/init.d/pfs_mountd /sbin/rc3.d/S900pfs_mountd
ln -s /sbin/init.d/pfs_mountd /sbin/rc2.d/K100pfs_mountd
5、 启动或停止pfs_mountd服务
/sbin/init.d/pfs_mountd start
/sbin/init.d/pfs_mountd stop
6、 查看服务的配置文件