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表明整個輸入記錄;

相關文章
相關標籤/搜索