Files
HM_project_Viewer_Board/scripts/run_server.sh
T

33 lines
909 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
cd "$(dirname "$0")/.."
PORT="${1:-${INTRANET_PORT:-8010}}"
HEALTH_URL="http://127.0.0.1:${PORT}/health"
if [ ! -x ".venv/bin/python" ]; then
echo "가상환경이 없습니다. 먼저 아래를 실행하세요."
echo "python3 -m venv .venv"
echo "source .venv/bin/activate"
echo "pip install -r requirements.txt"
exit 1
fi
if curl -fsS --max-time 2 "$HEALTH_URL" >/dev/null 2>&1; then
echo "이미 실행 중입니다: $HEALTH_URL"
exit 0
fi
if ss -ltn "( sport = :${PORT} )" | tail -n +2 | grep -q .; then
echo "포트 ${PORT} 는 이미 다른 프로세스가 사용 중입니다."
echo "기존 서버가 멈춘 상태라면 먼저 종료한 뒤 다시 실행하세요."
ss -ltnp "( sport = :${PORT} )" || true
exit 1
fi
export INTRANET_AUTO_RELOAD="${INTRANET_AUTO_RELOAD:-0}"
export INTRANET_PORT="$PORT"
exec ./.venv/bin/python main.py