#!/usr/bin/env bash set -euo pipefail ROOT_DIR="$(cd "$(dirname "$0")/.." && pwd)" PORT="${PORT:-80}" # On watchfiles restarts the previous process can linger briefly. # Proactively terminate any listener on the target port before boot. pids="$(ss -ltnp "sport = :$PORT" 2>/dev/null | sed -n 's/.*pid=\([0-9]\+\).*/\1/p' | sort -u)" if [ -n "${pids}" ]; then kill -TERM ${pids} 2>/dev/null || true sleep 0.3 fi cd "$ROOT_DIR/src" exec python main.py