1. 程式人生 > >SpringBoot打包的程式部署到伺服器後一直在後臺執行

SpringBoot打包的程式部署到伺服器後一直在後臺執行

一般是:java -jar test.jar發現這個命令在關閉視窗後就停止了

nohup java -jar **.jar &

nohup命令可以不掛斷的執行,忽略所有結束通話訊號,執行後,最後加&會在jar目錄下生成nohup.out的日誌檔案,預設的log輸出到這裡了。

下面是從網上找一些的指令碼

啟動指令碼start.sh

#!/bin/sh
rm -f tpid
nohup java -jar /var/apps/mytest.jar --spring.config.location=application.yml > /dev/null 2>&1 &
echo $! > tpid
echo Start Success!

停止服務 stop.sh

#!/bin/sh
APP_NAME=mytest
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
    echo 'Stop Process...'
    kill -15 $tpid
fi
sleep 5
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
    echo 'Kill Process!'
    kill -9 $tpid
else
    echo 'Stop Success!'
fi

檢查狀態check.sh

#!/bin/sh
APP_NAME=mytest
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
        echo 'App is running.'
else
        echo 'App is NOT running.'
fi