demo4bonus/scripts/deploy.sh

32 lines
992 B
Bash
Raw Normal View History

2024-01-23 15:53:51 +08:00
#!/bin/sh
2024-01-24 07:47:15 +08:00
# 找到Springboot项目对应的进程id
2024-01-24 09:39:50 +08:00
P_ID=$(pgrep -f "demo4bonus-0.0.1")
2024-01-24 07:47:15 +08:00
# 如果该项目已经在服务器上启动则kill掉
2024-01-24 09:39:50 +08:00
echo "原应用程序进程id$P_ID"
if [ -z "$P_ID" ]; then
echo "==Demo service process does not exist"
2024-01-24 08:52:35 +08:00
else
2024-01-24 09:39:50 +08:00
# 尝试优雅地关闭应用程序
2024-01-24 09:42:33 +08:00
kill -9 "$P_ID"
2024-01-24 09:39:50 +08:00
wait "$P_ID" 2>/dev/null
# 检查进程是否仍在运行
if ! ps -p "$P_ID" > /dev/null; then
echo "Demo service process was terminated gracefully"
else
# 如果优雅关闭失败,则强制杀死进程
2024-01-24 09:42:33 +08:00
kill -9 "$P_ID"
2024-01-24 09:39:50 +08:00
echo "Demo service process was killed forcefully"
fi
2024-01-24 07:47:15 +08:00
fi
2024-01-24 08:52:35 +08:00
2024-01-24 07:47:15 +08:00
echo "授权"
# 让root用户对jar包持有读执行的权限
chmod 777 /opt/webapps/demo4bonus-0.0.1-SNAPSHOT.jar
echo "执行"
2024-01-24 08:42:45 +08:00
# cd /opt/webapps/
2024-01-24 07:47:15 +08:00
# 目标服务器后台方式启动jar包
2024-01-24 08:42:45 +08:00
#nohup java -jar demo4bonus-0.0.1-SNAPSHOT.jar &
2024-01-24 08:52:35 +08:00
nohup /usr/local/jdk-17.0.9/bin/java -jar /opt/webapps/demo4bonus-0.0.1-SNAPSHOT.jar >/dev/null 2>&1 &
2024-01-24 08:42:45 +08:00
echo "启动成功"