干货分享—java -jar shell管理脚本

java -jar xxx.jar 启动脚本,直接上脚本代码

#!/bin/bashexport JAVA_HOME=/boot/software/jdk1.8.0_161export JRE_HOME=/$JAVA_HOME/jreexport CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin #这里可替换为你自己的执行程序,其他代码无需更改APP_NAME=/home/apps/xxx-main.jar#使用说明,用来提示输入参数usage() {  echo "Usage: sh robotcenter.sh [start|stop|restart|status]"  exit 1}#检查程序是否在运行is_exist(){  pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}'`  #如果不存在返回1,存在返回0       if [ -z "${pid}" ]; then      return 1  else      return 0  fi}#启动方法start(){   is_exist   if [ $? -eq 0 ]; then      echo "${APP_NAME} is already running. pid=${pid}"   else      nohup java -jar ${APP_NAME}  >/dev/null 2>&1 &      #Xms Xmx  指定虚拟内存上下限      #nohup ${JRE_HOME}/bin/java -Xms128m -Xmx512m -jar ${APP_NAME} >/dev/null 2>&1 &      echo "..."      sleep 2      echo "..."      sleep 3      is_exist      if [ $? -eq 0 ]; then        echo "${APP_NAME} is running success. pid=${pid}"      fi    fi}    #停止方法 stop(){    is_exist    if [ $? -eq "0" ]; then       kill -9 $pid       echo "..."       sleep 2       is_exist       if [ $? -eq 0 ]; then          echo "${APP_NAME} still in the running. pid=${pid}"       else          echo "${APP_NAME} has stopped running."       fi    else       echo "${APP_NAME} is not running"    fi   }        #输出运行状态 status(){    is_exist    if [ $? -eq "0" ]; then       echo "${APP_NAME} is running. Pid is ${pid}"    else       echo "${APP_NAME} is NOT running."    fi }#重启 restart(){    stop    #sleep 5    start } #根据输入参数,选择执行对应方法,不输入则执行使用说明 case "$1" in    "start")      start      ;;    "stop")      stop      ;;    "status")      status      ;;    "restart")      restart      ;;    *)      usage      ;; esac
发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章