#!/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 "🏁 停止脚本执行完成"