diff --git a/scripts/dev-run.sh b/scripts/dev-run.sh new file mode 100644 index 0000000..8d183bc --- /dev/null +++ b/scripts/dev-run.sh @@ -0,0 +1,16 @@ +#!/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