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 "启动成功"
|