prompt_template/scripts/cleanup_server.sh

38 lines
808 B
Bash
Raw Normal View History

#!/usr/bin/env bash
set -euo pipefail
PORT="${1:-8081}"
# Finde Prozesse auf Port
PIDS=$(lsof -ti ":$PORT" 2>/dev/null || true)
if [ -n "$PIDS" ]; then
# Graceful shutdown attempt
echo "$PIDS" | while read -r pid; do
kill -TERM "$pid" 2>/dev/null || true
done
# Warte bis zu 5 Sekunden
for i in $(seq 1 10); do
STILL_RUNNING=0
for pid in $PIDS; do
if kill -0 "$pid" 2>/dev/null; then
STILL_RUNNING=1
break
fi
done
if [ "$STILL_RUNNING" = "0" ]; then
break
fi
sleep 0.5
done
# Force kill if still running
for pid in $PIDS; do
if kill -0 "$pid" 2>/dev/null; then
kill -9 "$pid" 2>/dev/null || true
fi
done
echo "Prozesse auf port $PORT beendet."
else
echo "Keine laufende Instanz auf port $PORT gefunden."
fi