| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- #!/bin/bash
- # 服务管理脚本
- APP_NAME="xiwu_agent_server" # 自定义服务名称
- PID_FILE="./gunicorn_log/gunicorn.pid" # PID 文件路径
- LOG_FILE="./gunicorn_log/gunicorn.log" # 日志文件路径
- START_COMMAND="gunicorn -c gunicorn_config.py server.app:app"
- 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
|