#!/bin/bash # 1. 终止占用9580端口的进程 PORT=9580 echo "➜ 正在检查端口 ${PORT} 的占用情况..." PID=$(lsof -ti :${PORT}) if [ -n "$PID" ]; then echo "➜ 发现占用端口的进程(PID: ${PID}),正在终止..." kill -9 $PID sleep 2 # 等待进程完全终止 echo "✓ 已终止进程" else echo "✓ 端口 ${PORT} 未被占用" fi # 2. 激活虚拟环境并设置PYTHONPATH source venv/bin/activate export PYTHONPATH=.:$PYTHONPATH # 3. 使用nohup运行并防止终端退出影响 echo "➜ 启动应用进程..." nohup python app/main.py > app.log 2>&1 & # 4. 验证新进程 sleep 3 # 等待进程启动 NEW_PID=$(lsof -ti :${PORT}) if [ -n "$NEW_PID" ]; then echo "✓ 应用启动成功!PID: ${NEW_PID}" echo "➜ 日志输出已重定向到 app.log" echo "➜ 使用以下命令查看日志:" echo " tail -f app.log" else echo "✗ 应用启动失败,请检查日志" exit 1 fi