ubuntu的init.d管理service

1、在/etc/init.d/ 下以管理員權限新建kubestack啓動文件腳本

#!/bin/bash  
### BEGIN INIT INFO  
#  
# Provides:  kubestack  
# Required-Start:   $openvswitch-switch $neutron-openvswitch-agent
# Required-Stop:    
# Default-Start:    2 3 4 5  
# Default-Stop:     0 1 6  
# Short-Description:    start kubestack service
# 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="kubestack"  
PROG_PATH="/usr/local/bin" ## Not need, but sometimes helpful (if $PROG resides in /opt for example).  
PROG_ARGS="-log_dir=/var/log/kubestack -logtostderr=true -v=4 -port=:4237"   
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 -A |grep "kubelet"| awk '{print $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 -A |grep "kubelet"| awk '{print $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  


2、添加刪除服務

添加: sudo update-rc.d 服務名 defaults

刪除:sudo update-rc.d -f 服務名 remove


update-rc.d kubestack defaults


3、結果:


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章