Chinaunix首页 | 论坛 | 博客
  • 博客访问: 47638
  • 博文数量: 61
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 360
  • 用 户 组: 普通用户
  • 注册时间: 2015-01-05 15:04
文章分类
文章存档

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

 

  • 本文来自:
阅读(133) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~