2015年(61)
分类: LINUX
2015-01-16 09:52:56
编写启动脚本
以前写的启动脚本都没有颜色,研究了下functions ,functions 是个很好的启动脚本接口文件,最重要的是daemon和killproc2个函数。
于是自己跟着写了的
#!/bin/bash
#chkconfig:35 23 34
#description: nginx server
#set -x
if [ -f /etc/init.d/functions ] ; then
. /etc/init.d/functions ##载入functions,. 在这里相当于source的功能
fi
prog=nginx ##服务名,会多处调用
RETVAL=0 ##状态返回值,functions 函数会调用这个值
nginx=/usr/local/nginx/sbin/nginx
NGINX_CONF_FILE=/usr/local/nginx/conf/nginx.conf
pidfile=/usr/local/nginx/logs/nginx.pid
lockfile=/var/lock/subsys/${prog} ##subsys目录下的文件是用于给其他程序判断服务的实例运行状态的
start() {
echo -n $"Starting $prog: "
daemon $nginx -c $NGINX_CONF_FILE ###daemon调用后面的执行情况
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch ${lockfile}
return $RETVAL
}
stop () {
echo -n $"Stopping $prog: "
killproc -p ${pidfile} ###killproc 从pidfile 获取到pid,并杀死
#RETVAL=$?
echo
[ $RETVAL -eq 0 ] && /bin/ -f ${lockfile}
return $RETVAL
}
case $1 in
st)
start
;;
s)
stop
;;
restart)
stop
start
;;
esac