shell来start、stop、restart应用程序模板

如何实现 start 、stop、status?bash

1)启动的时候将进程号写入文件,中止的时候读取文件获得进程号;app

pstree pid -p | awk -F"[()]" '{for(i=0;i<=NF;i++)if($i~/[0-9]+/)print $i}' |grep -E -v "\{|\(|\["|xargs kill -9 rest

#!/bin/sh
BASE_HOME=/home/apple/test
PID=${BASE_HOME}/.pid
status(){
   echo "==========status======="
   status=`ps -p $$`
   

}

start() {
    echo "==========start==========="
}

stop() {
    echo "===========stop============"
    pid=$$
    kill_cmd="pstree -p $pid | awk -F \"[()]\" '{for(i=0;i<=NF;i++)if(\$i~/[0-9]+/)print \$i}' |"'grep -v -E "\[|\(|\)|\]"|xargs kill -9'
    eval ${kill_cmd}
}

restart() {
    stop;
    echo "sleeping.........";
    sleep 3;
    start;

}
case "$1" in
    'start')
        start
        ;;
    'stop')
        stop
        ;;
    'status')
        status
        ;;
    'restart')
        restart
        ;;
    *)
    echo "usage: $0 {start|stop|restart|status}"
    exit 1
        ;;
    esac
相关文章
相关标签/搜索