java程序启动脚本

来源:互联网 发布:linux 串口输出重定向 编辑:程序博客网 时间:2024/05/23 16:18

    在公司开发的系统包含多个服务进程,每个服务以单独的jvm进程的方式存在。为了节省存储空间以及对不同进程使用的jar包进行统一管理,要求所有服务使用的jar包都存放在同一个目录中,所有进程使用同一个jdk,每个服务有自己单独的目录存放主程序(服务启动逻辑和非共享逻辑)。我的db_service的启停脚本如下:

   

#!/bin/bash#author:lixiang#the script that control the db-serviceBASE_DIR=~/smb_cloudDBSERVICE_DIR=$BASE_DIR/services/db_serviceSERVER_NAME="db-service"PROCESS_NAME="com.dear.simpler.dbrpc.processor.MainProcessor"JAVA_HOME=~/smb_cloud/environments/jdkexport JAVA=$JAVA_HOME/bin/java#add libs and service to classpathexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$DBSERVICE_DIR/conf:$(ls $BASE_DIR/environments/libs/java/*.jar | tr '\n' :)$(ls *.jar | tr '\n' :)LOG_FILE=./db_ctl.logfunction running(){count=`ps aux | grep java | grep $PROCESS_NAME | grep -v grep | wc -l`if [ $count == 0 ];then    return 1else    return 0fi}function start_server(){if running; thenecho "$SERVER_NAME is running."exit 1fiecho $CLASSPATH >>$LOG_FILEnohup $JAVA com.dear.simpler.dbrpc.processor.MainProcessor 2>&1 >>$LOG_FILE &sleep 3if running; then                echo "$SERVER_NAME start success"        else                echo "$SERVER_NAME start fail"    fi}function stop_server(){if ! running; thenecho "$SERVER_NAME is not running."exit 1fipid=`ps aux | grep java | grep $PROCESS_NAME | grep -v grep | awk {'print$2'}`kill  $pidsleep 3if ! running; thenecho "$SERVER_NAME stop success."elsekill -9 $pidsleep 3if ! running; thenecho "$SERVER_NAME stop success."elseecho "$SERVER_NAME stop fail."fifi}function status(){      if running; then         echo "$SERVER_NAME is running."      else         echo "$SERVER_NAME was stopped."        fi  }  function help() {      echo "Usage: db_ctl {start|status|stop|restart}" >&2      echo "       start:             start the $SERVER_NAME server"      echo "       stop:              stop the $SERVER_NAME server"      echo "       restart:           restart the $SERVER_NAME server"      echo "       status:            get $SERVER_NAME current status,running or stopped."  }  command=$1shift 1case $command in        start)                start_server                ;;        stop)                stop_server                ;;        status)                status                ;;        restart)                $0 stop                $0 start                ;;        help)                help                ;;        *)                help                exit 1                ;;esac


0 0
原创粉丝点击