shell脚本 SpringBoot项目启动脚本

#!/bin/bashjava

#这里可替换为本身的执行程序bash

APP_NAME=project-admin.jarrest

#使用说明,用来提示输入参数日志

usage(){it

echo "Usage: sh catalina.sh [start|stop|restart|status]"awk

exit 1后台

}引用

#检查程序是否在运行grep

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

  BUILD_ID=dontkillMe

   nohup java -jar $APP_NAME > ./catalina.log &

 echo "${APP_NAME} is running..."

fi

}

 

#中止方法

stop(){

is_exist

if [ $? -eq "0" ];then

 kill -9 ${pid}

else

 echo "${APP_NAME} is not running."

fi

}

 

#重启,调用中止和启动方法便可

restart(){

stop

start

}

 

#输出运行状态

status(){

is_exist

if [ $? -eq "0" ];then

  echo "${APP_NAME} is running. pid is ${pid}"

else

    echo "${APP_NAME} is not running."

fi

}

 

#根据输入参数,选择执行对应方法,不输入则执行使用说明

case $1 in

  start)

     start

    ;;

   stop)

     stop

     ;;

   restart)

     restart

      ;;

    status)

      status

;;

    *)

     usage

      ;;

     esac

 

############## 注 以上是内容,不可少任何代码  结束################

说明:

*APP_NAME=project-admin.jar 这个是项目名称,将右侧的jar改为本身的项目jar。

 *nohup java -jar $APP_NAME > ./catalina.log & 这是输出日志到catalina.log文件,日志根据本身需求定义; 最后&表明后台运行,不可少。

 *pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `即获取pid;字段的引用  $ 字段操做符;  $1表明第一列,$2表明第二列。。。n以此类推;  $0表明整个输入记录;

相关文章
相关标签/搜索