这个脚本提供Java进程的启动,停止,重启,查看日志文件的功能。
使用时只需修改PRO_DIR、PRO_LOG_FILE、PID_FILE、MAIN_CLASS、SERVICE_NAME、SHELL_HOME参数即可,下面的脚本基本不用动。


使用方式:
将脚本复制到一个脚本文件,例如名字为a.sh
那么
启动使用 sh a.sh start
停止使用 sh a.sh stop
重启使用 sh a.sh restart
查看日志 sh a.sh log

#!/bin/sh
PRO_DIR=/apps/webapp/sms-enginne
PRO_LOG_FILE=/apps/webapp/sms-enginne/logs/task.log
PID_FILE=.task.pid
MAIN_CLASS=com.example.sms.task.TaskMain
SERVICE_NAME=TaskMain
SHELL_HOME=$PRO_DIR/shells

cd $PRO_DIR/bin

case "$1" in
    start)
        nohup java -cp $PRO_DIR/lib/*:$PRO_DIR/bin $MAIN_CLASS >$PRO_LOG_FILE 2>&1 &
        echo $! > $PRO_DIR/$PID_FILE
        echo "****start $SERVICE_NAME for pid $!*****"
        ;;
    stop)
        if [ ! -f "$PRO_DIR/$PID_FILE" ]; then
          echo "$PRO_DIR/$PID_FILE is not exists, please check service status."
        else
          kill `cat $PRO_DIR/$PID_FILE`
          rm -rf $PRO_DIR/$PID_FILE
          echo "****stop $SERVICE_NAME****"
        fi
        ;;
    restart)
        $SHELL_HOME/$0 stop
        sleep 2
        $SHELL_HOME/$0 start
        echo "****restart $SERVICE_NAME****"
        ;;
    log)
        tail -F $PRO_LOG_FILE
        ;;
    *)
        echo "to run command:"
        echo "[start] [stop] [restart] [log]"
        ;;

esac
exit 0
Logo

更多推荐