Files
hermes-workspace/scripts/stop-stable.sh
2026-05-01 10:55:01 -04:00

37 lines
736 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
cd "$ROOT"
PORT="${PORT:-3002}"
PID_FILE="$ROOT/.runtime/hermes-workspace.pid"
stop_pid() {
local pid="$1"
if kill -0 "$pid" 2>/dev/null; then
kill "$pid" 2>/dev/null || true
for _ in {1..20}; do
if ! kill -0 "$pid" 2>/dev/null; then
return 0
fi
sleep 0.25
done
kill -9 "$pid" 2>/dev/null || true
fi
}
if [[ -f "$PID_FILE" ]]; then
pid="$(cat "$PID_FILE" 2>/dev/null || true)"
if [[ -n "$pid" ]]; then
stop_pid "$pid"
fi
rm -f "$PID_FILE"
fi
for pid in $(lsof -tiTCP:"$PORT" -sTCP:LISTEN 2>/dev/null || true); do
stop_pid "$pid"
done
echo "[stable] stopped Hermes Workspace on port $PORT"