17 lines
457 B
Bash
17 lines
457 B
Bash
#!/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
|