#!/bin/bash # AI MIP 后台启动脚本 PROJECT_DIR="/home/work/ai_mip" cd ${PROJECT_DIR} echo "[INFO] 检查是否有运行中的服务..." # 查找并停止旧进程 OLD_PID=$(pgrep -f "python main.py") if [ ! -z "$OLD_PID" ]; then echo "[WARN] 发现运行中的服务 (PID: $OLD_PID),正在停止..." pkill -f "python main.py" sleep 2 echo "[INFO] 旧服务已停止" else echo "[INFO] 没有运行中的服务" fi echo "[INFO] 正在启动服务..." # 激活虚拟环境并后台运行 if [ ! -d "venv" ]; then echo "[ERROR] 虚拟环境不存在,请先执行: python3 -m venv venv" exit 1 fi if [ ! -f "venv/bin/activate" ]; then echo "[ERROR] 虚拟环境激活脚本不存在" exit 1 fi source venv/bin/activate # 检查依赖是否安装 if ! python -c "import schedule" 2>/dev/null; then echo "[WARN] 依赖未安装,正在安装..." pip install -r requirements.txt fi nohup python main.py --workers 3 --health-port 8899 > logs/service.log 2>&1 & NEW_PID=$! echo "[INFO] 服务已启动" echo "[INFO] 进程ID: $NEW_PID" echo "[INFO] 查看日志: tail -f ${PROJECT_DIR}/logs/service.log"