#!/bin/bash
cd `dirname $0`
APP_NAME=`ls *.jar`
case $1 in
start)
echo -e \"Starting the $APP_NAME ...\\c\"
if [ ! -d logs ]; then
mkdir logs
fi
nohup java -jar $APP_NAME --spring.profiles.active=prod > logs/stdout.log 2>&1 &
COUNT=0
while [ $COUNT -lt 1 ]; do
echo -e \".\\c\"
sleep 1
COUNT=`ps -f | grep java | grep $APP_NAME | awk \'{print $2}\' | wc -l`
if [ $COUNT -gt 0 ]; then
break
fi
done
echo \"OK!\"
PIDS=`ps -f | grep java | grep $APP_NAME | awk \'{print $2}\'`
echo \"PID: $PIDS\"
;;
stop)
PIDS=`ps -ef | grep java | grep $APP_NAME |awk \'{print $2}\'`
if [ -z $PIDS ]; then
echo \"ERROR: The $APP_NAME does not started!\"
exit 1
fi
echo -e \"Stopping the $APP_NAME ...\\c\"
for PID in $PIDS ; do
kill $PID > /dev/null 2>&1
done
COUNT=0
while [ $COUNT -lt 1 ]; do
echo -e \".\\c\"
sleep 1
COUNT=1
for PID in $PIDS ; do
PID_EXIST=`ps -f -p $PID | grep java`
if [ -n \"$PID_EXIST\" ]; then
COUNT=0
break
fi
done
done
echo \"OK!\"
echo \"PID: $PIDS\"
;;
restart)
shift
\"$0\" stop ${@}
sleep 3
\"$0\" start ${@}
;;
status)
PIDS=`ps -ef | grep java | grep $APP_NAME |awk \'{print $2}\'`
if [ -z \"$PIDS\" ]; then
echo \"The $APP_NAME does not started!\"
exit 1
fi
echo \"OK!\"
echo \"PID: $PIDS\"
;;
*)
echo \"Usage: $0 {start|stop|restart|status}\" >&2
esac
脚本启动springboot应用
命名为server.sh
参数:start|stop|restart|status
将脚本跟jar放在一个新建的项目(一项目一文件夹)文件夹中
版权声明
本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。



