60 lines
1.4 KiB
Bash
60 lines
1.4 KiB
Bash
#!/bin/bash
|
||
|
||
# AIGC Demo 停止脚本
|
||
|
||
echo "=== AIGC Demo 停止脚本 ==="
|
||
echo ""
|
||
|
||
# 检查进程ID文件
|
||
if [ -f "app.pid" ]; then
|
||
APP_PID=$(cat app.pid)
|
||
echo "📝 找到进程ID: $APP_PID"
|
||
|
||
# 检查进程是否存在
|
||
if ps -p $APP_PID > /dev/null; then
|
||
echo "🛑 正在停止应用..."
|
||
kill $APP_PID
|
||
|
||
# 等待进程结束
|
||
for i in {1..10}; do
|
||
if ! ps -p $APP_PID > /dev/null; then
|
||
echo "✅ 应用已停止"
|
||
rm -f app.pid
|
||
break
|
||
fi
|
||
echo -n "."
|
||
sleep 1
|
||
done
|
||
|
||
if ps -p $APP_PID > /dev/null; then
|
||
echo ""
|
||
echo "⚠️ 应用未正常停止,强制终止..."
|
||
kill -9 $APP_PID
|
||
rm -f app.pid
|
||
echo "✅ 应用已强制停止"
|
||
fi
|
||
else
|
||
echo "⚠️ 进程不存在,可能已经停止"
|
||
rm -f app.pid
|
||
fi
|
||
else
|
||
echo "⚠️ 未找到进程ID文件 (app.pid)"
|
||
echo " 尝试查找Java进程..."
|
||
|
||
# 查找Java进程
|
||
JAVA_PIDS=$(ps aux | grep "demo-0.0.1-SNAPSHOT.jar" | grep -v grep | awk '{print $2}')
|
||
|
||
if [ -n "$JAVA_PIDS" ]; then
|
||
echo "🔍 找到Java进程: $JAVA_PIDS"
|
||
echo "$JAVA_PIDS" | xargs kill
|
||
echo "✅ Java进程已停止"
|
||
else
|
||
echo "ℹ️ 未找到运行中的Java进程"
|
||
fi
|
||
fi
|
||
|
||
echo ""
|
||
echo "🏁 停止脚本执行完成"
|
||
|
||
|