#!/bin/bash # 服务管理脚本 START_COMMAND="python run_server.py --host 0.0.0.0 --port 8000" case "$1" in start) if [ -f "$PID_FILE" ]; then if kill -0 $(cat "$PID_FILE") >/dev/null 2>&1; then echo "✅ $APP_NAME 已在运行 (PID: $(cat $PID_FILE))" exit 1 else rm -f "$PID_FILE" fi fi echo "🚀 启动 $APP_NAME..." nohup $START_COMMAND >> "$LOG_FILE" 2>&1 & echo $! > "$PID_FILE" echo "🟢 启动成功! PID: $(cat $PID_FILE)" echo "📝 日志输出: $LOG_FILE" ;; stop) if [ ! -f "$PID_FILE" ]; then echo "🔴 $APP_NAME 未运行" exit 1 fi PID=$(cat "$PID_FILE") echo "🛑 停止 $APP_NAME (PID: $PID)..." kill -TERM $PID rm -f "$PID_FILE" echo "⭕ 已停止" ;; restart) $0 stop sleep 2 $0 start ;; status) if [ -f "$PID_FILE" ]; then if kill -0 $(cat "$PID_FILE") >/dev/null 2>&1; then echo "🟢 $APP_NAME 正在运行 (PID: $(cat $PID_FILE))" else echo "❌ PID 文件存在但进程未运行" rm -f "$PID_FILE" fi else echo "🔴 $APP_NAME 未运行" fi ;; *) echo "使用方法: $0 {start|stop|restart|status}" exit 1 esac exit 0