代码改变世界

service-shop.sh项目启动脚本

2022-11-03 15:17  通往神之路  阅读(20)  评论(0编辑  收藏  举报

#!/bin/sh

## java env
export JAVA_HOME=/usr/local/java/jdk1.8.0_121/
export JRE_HOME=$JAVA_HOME/jre

## service name
SERVICE_NAME=java-spring-shop-service
SERVICE_DIR=/home/testing/java-spring-shop-service
JAR_NAME=$SERVICE_NAME\.jar
PID=$SERVICE_NAME\.pid

cd $SERVICE_DIR

case "$1" in

start)
$JAVA_HOME/bin/jar -xvf /home/testing/java-spring-shop-service/java-spring-shop-service.jar
sleep 5
mv /home/testing/java-spring-shop-service/BOOT-INF/classes/library /home/testing/java-spring-shop-service/
sleep 5
nohup $JRE_HOME/bin/java -Xms1024m -Xmx1024m -Xmn512m -Xss256k -server -XX:+HeapDumpOnOutOfMemoryError -jar $JAR_NAME --spring.profiles.active=testing --server.port=8081 --spring.config.location=/home/testing/java-spring-shop-service/BOOT-INF/classes/ >/dev/null 2>&1 &
echo $! > $SERVICE_DIR/$PID
echo "=== start $SERVICE_NAME"
;;

stop)
kill -9 `cat $SERVICE_DIR/$PID`
rm -rf $SERVICE_DIR/$PID
rm -rf /home/testing/java-spring-shop-service/BOOT-INF /home/testing/java-spring-shop-service/library /home/testing/java-spring-shop-service/META-INF /home/testing/java-spring-shop-service/org
echo "=== stop $SERVICE_NAME"

sleep 5
P_ID=`ps -ef | grep -w "$JAR_NAME" | grep -v "grep" | awk '{print $2}'`
if [ "$P_ID" == "" ]; then
echo "=== $JAR_NAME process not exists or stop success"
else
echo "=== $JAR_NAME process pid is:$P_ID"
echo "=== begin kill $JAR_NAME process, pid is:$P_ID"
kill -9 $P_ID
fi
;;

restart)
$0 stop
sleep 2
$0 start
echo "=== restart $SERVICE_NAME"
;;

*)
## restart
$0 stop
sleep 2
$0 start
;;
esac
exit 0