run.sh 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #!/bin/bash
  2. # 服务管理脚本
  3. APP_NAME="lq_agent_platform_server" # 自定义服务名称
  4. PID_FILE="./gunicorn_log/gunicorn.pid" # PID 文件路径
  5. LOG_FILE="./gunicorn_log/gunicorn.log" # 日志文件路径
  6. #START_COMMAND="gunicorn -c gunicorn_config.py server.app:app"
  7. START_COMMAND="python server/app.py --host 0.0.0.0 --port 8001"
  8. case "$1" in
  9. start)
  10. if [ -f "$PID_FILE" ]; then
  11. if kill -0 $(cat "$PID_FILE") >/dev/null 2>&1; then
  12. echo "✅ $APP_NAME 已在运行 (PID: $(cat $PID_FILE))"
  13. exit 1
  14. else
  15. rm -f "$PID_FILE"
  16. fi
  17. fi
  18. echo "🚀 启动 $APP_NAME..."
  19. nohup $START_COMMAND >> "$LOG_FILE" 2>&1 &
  20. echo $! > "$PID_FILE"
  21. echo "🟢 启动成功! PID: $(cat $PID_FILE)"
  22. echo "📝 日志输出: $LOG_FILE"
  23. ;;
  24. stop)
  25. if [ ! -f "$PID_FILE" ]; then
  26. echo "🔴 $APP_NAME 未运行"
  27. exit 1
  28. fi
  29. PID=$(cat "$PID_FILE")
  30. echo "🛑 停止 $APP_NAME (PID: $PID)..."
  31. kill -TERM $PID
  32. rm -f "$PID_FILE"
  33. echo "⭕ 已停止"
  34. ;;
  35. restart)
  36. $0 stop
  37. sleep 2
  38. $0 start
  39. ;;
  40. status)
  41. if [ -f "$PID_FILE" ]; then
  42. if kill -0 $(cat "$PID_FILE") >/dev/null 2>&1; then
  43. echo "🟢 $APP_NAME 正在运行 (PID: $(cat $PID_FILE))"
  44. else
  45. echo "❌ PID 文件存在但进程未运行"
  46. rm -f "$PID_FILE"
  47. fi
  48. else
  49. echo "🔴 $APP_NAME 未运行"
  50. fi
  51. ;;
  52. *)
  53. echo "使用方法: $0 {start|stop|restart|status}"
  54. exit 1
  55. esac
  56. exit 0