创建服务类脚本

  

服务类脚本:
start

SysV: /etc/rc.d/init.d
start|stop|restart|status
reload|configtest

chkconfig

# chkconfig: runlevels SS KK 当chkconfig命令来为此脚本在rc#.d目录创建链接时,runlevels表示默认创建为S*开头的链接,-表示没有级别默认为S*开头的链接;除此之外的级别默认创建为K*开头的链接;
S后面的启动优先级为SS所表示的数字;K后面关闭优先次序为KK所表示的数字;
# description: 用于说明此脚本的简单功能; \, 续行

chkconfig --list: 查看所有独立守护服务的启动设定;独立守护进程!
chkconfig --list SERVICE_NAME

chkconfig --add SERVICE_NAME

chkconfig --del SERVICE_NAME

chkconfig [--level RUNLEVELS] SERVICE_NAME {on|off}
如果省略级别指定,默认为2345级别;

样例:

#!/bin/bash

# chkconfig: 2345 88 11    ###注意冒号,配置runlevel  SS  KK
# description: myservices  ### 描述信息
FILEPATH=/var/lock/subsys/myservice

status()  {
   if [ -e $FILEPATH ]; then
     echo "myservices is running"
   else
     echo "myservices is stopped"
    fi
}

 usage() {

    echo " `basename $0` {start|stop|restart|staus}  "
}

case $1 in 
start)
            touch $FILEPATH  &> /dev/null
            echo "myservices is starting"
;;
 stop)
            rm -rf  $FILEPATH
            echo "myservices is stopping"
;;
restart)
          echo "myservice is restarting"
;;
 status)
            status
;;             
 *)
           usage ;;
esac
# cd rc.local
# chkconfig --add myservices # find -name "*myservices*" ./rc6.d/K11myservices ./rc4.d/S88myservices ./rc0.d/K11myservices ./rc1.d/K11myservices ./rc3.d/S88myservices ./rc2.d/S88myservices ./init.d/myservices ./rc5.d/S88myservices # chkconfig --list myservices myservices 0:off 1:off 2:on 3:on 4:on 5:on 6:off # chkconfig --level 24 myservices off # chkconfig --list myservices myservices 0:off 1:off 2:off 3:on 4:off 5:on 6:off # chkconfig --del myservices # find -name "*myservices*" ./init.d/myservices # chkconfig --list myservices service myservices supports chkconfig, but is not referenced in any runlevel (run 'chkconfig --add myservices')
原文地址:https://www.cnblogs.com/love3556/p/5908912.html