linux init.d脚本编写模板

#!/bin/bash  
### BEGIN INIT INFO  
#  
# Provides:  location_server  
# Required-Start:   $local_fs  $remote_fs  
# Required-Stop:    $local_fs  $remote_fs  
# Default-Start:    2 3 4 5  
# Default-Stop:     0 1 6  
# Short-Description:    initscript  
# Description:  This file should be used to construct scripts to be placed in /etc/init.d.  
#  
### END INIT INFO  
  
## Fill in name of program here.  
PROG="location_server"  
PROG_PATH="/opt/location_server" ## Not need, but sometimes helpful (if $PROG resides in /opt for example).  
PROG_ARGS=""   
PID_PATH="/var/run/"  
  
start() {  
    if [ -e "$PID_PATH/$PROG.pid" ]; then  
        ## Program is running, exit with error.  
        echo "Error! $PROG is currently running!" 1>&2  
        exit 1  
    else  
        ## Change from /dev/null to something like /var/log/$PROG if you want to save output.  
        $PROG_PATH/$PROG $PROG_ARGS 2>&1 >/var/log/$PROG &  
    $pid=`ps ax | grep -i location_server | sed s/^\([0-9]\{1,\}\).*/\1/g | head -n 1`  
  
        echo "$PROG started"  
        echo $pid > "$PID_PATH/$PROG.pid"  
    fi  
}  
  
stop() {  
    echo "begin stop"  
    if [ -e "$PID_PATH/$PROG.pid" ]; then  
        ## Program is running, so stop it  
    pid=`ps ax | grep -i location_server | sed s/^\([0-9]\{1,\}\).*/\1/g | head -n 1`  
    kill $pid  
          
        rm -f  "$PID_PATH/$PROG.pid"  
        echo "$PROG stopped"  
    else  
        ## Program is not running, exit with error.  
        echo "Error! $PROG not started!" 1>&2  
        exit 1  
    fi  
}  
  
## Check to see if we are running as root first.  
## Found at http://www.cyberciti.biz/tips/shell-root-user-check-script.html  
if [ "$(id -u)" != "0" ]; then  
    echo "This script must be run as root" 1>&2  
    exit 1  
fi  
  
case "$1" in  
    start)  
        start  
        exit 0  
    ;;  
    stop)  
        stop  
        exit 0  
    ;;  
    reload|restart|force-reload)  
        stop  
        start  
        exit 0  
    ;;  
    **)  
        echo "Usage: $0 {start|stop|reload}" 1>&2  
        exit 1  
    ;;  
esac  
其中,PROG变量为所要运行的可执行程序的名称, PROG_PATH为可执行文件所在的目录,PROG_ARGS为执行程序的各个参数。

linux init.d脚本编写模板,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。