-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstop-dev.sh
More file actions
48 lines (40 loc) · 1.21 KB
/
stop-dev.sh
File metadata and controls
48 lines (40 loc) · 1.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$ROOT_DIR"
DEV_DIR="$ROOT_DIR/.dev"
PID_FILE="$DEV_DIR/hawk-web.pid"
STATE_FILE="$DEV_DIR/run-dev.state"
TMUX_SESSION="hawk-dev"
stopped_any=0
if [[ -f "$PID_FILE" ]]; then
pid="$(cat "$PID_FILE" 2>/dev/null || true)"
if [[ -n "$pid" ]] && kill -0 "$pid" >/dev/null 2>&1; then
echo "[stop-dev] Stopping Hawk.Web process (pid=$pid)..."
kill "$pid" >/dev/null 2>&1 || true
sleep 1
if kill -0 "$pid" >/dev/null 2>&1; then
kill -9 "$pid" >/dev/null 2>&1 || true
fi
stopped_any=1
fi
rm -f "$PID_FILE"
fi
if command -v tmux >/dev/null 2>&1 && tmux has-session -t "$TMUX_SESSION" 2>/dev/null; then
echo "[stop-dev] Stopping tmux session '$TMUX_SESSION'..."
tmux kill-session -t "$TMUX_SESSION"
stopped_any=1
fi
if command -v docker >/dev/null 2>&1; then
if docker compose ps db mock >/dev/null 2>&1; then
echo "[stop-dev] Stopping docker services (db + mock)..."
docker compose stop db mock >/dev/null || true
stopped_any=1
fi
fi
rm -f "$STATE_FILE"
if [[ "$stopped_any" -eq 0 ]]; then
echo "[stop-dev] No run-dev processes were detected."
else
echo "[stop-dev] Done."
fi