#!/bin/bash
# Flask 서버 실행 스크립트 - 강화 버전

echo "=== Flask 서버 관리 스크립트 (강화 버전) ==="

# 1. 모든 Python Flask 프로세스 종료
echo "1. 모든 Flask 프로세스 종료 중..."
pkill -9 -f "python app.py" 2>/dev/null
sleep 1

# 2. 포트 5001 강제 해제
echo "2. 포트 5001 강제 해제..."
lsof -ti:5001 | xargs -r kill -9 2>/dev/null
sleep 1

# 3. 잔여 Python 프로세스 확인
echo "3. 잔여 프로세스 확인..."
REMAINING=$(lsof -ti:5001)
if [ ! -z "$REMAINING" ]; then
    echo "   경고: 아직 포트를 사용 중인 프로세스 발견. 강제 종료..."
    kill -9 $REMAINING 2>/dev/null
    sleep 1
fi

# 4. 포트 상태 최종 확인
if lsof -i:5001 > /dev/null 2>&1; then
    echo "   ⚠️  포트 5001이 여전히 사용 중입니다. 잠시 후 다시 시도하세요."
    exit 1
else
    echo "   ✅ 포트 5001이 비어있습니다."
fi

# 5. Flask 서버 시작
echo "4. Flask 서버 시작..."
cd /root/kdrug
source venv/bin/activate

# Debug 모드 비활성화 옵션 (더 안정적)
# export FLASK_DEBUG=0

echo "   서버 시작 중... (http://localhost:5001)"
echo "   종료: Ctrl+C"
echo "======================================="
python app.py