服务器JAR启动脚本

发布时间 2023-04-04 17:52:44作者: 以后啊
#!/bin/bash
  #这里可替换为你自己的执行程序,其他代码无需更改
  APP_NAME=robot-admin-1.0-SNAPSHOT.jar
   
  #使用说明,用来提示输入参数
  usage() {
      echo "Usage: sh robot-admin.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 -Xmx300m -Xms300m  -jar -Duser.timezone=GMT+08 -Dfile.encoding=utf-8 /robot/project/admin/$APP_NAME --spring.profiles.active=prod --logging.config=classpath:logback-boot.xml >> /dev/null 2>&1 &
     sleep 2s
   #  tail -100f /robot/project/admin/logs/spring.log
     echo "${APP_NAME} start success"
   fi
 }
  
 #停止方法
 stop(){
   is_exist
   if [ $? -eq "0" ]; then
     kill -9 $pid
   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
   start
 }
  
 #根据输入参数,选择执行对应方法,不输入则执行使用说明
 case "$1" in
   "start")
     start
     ;;
   "stop")
     stop
     ;;
   "status")
     status
     ;;
   "restart")
     restart
     ;;
   *)
     usage
     ;;
 esac

命令: sh xxx.jar  [start,stop,restart]  注意脚本位置同目录下