From 608bfa4a1193d21a9e525f7b940cb7feaa2b163a Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Tue, 6 Oct 2026 21:43:14 +0000 Subject: [PATCH] fleet-bg.sh: setsid optional (macOS has none) Co-Authored-By: Claude Fable 5.1 --- tools/fleet/fleet-bg.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/fleet/fleet-bg.sh b/tools/fleet/fleet-bg.sh index 4e0db7dc6..d38393ea8 100755 --- a/tools/fleet/fleet-bg.sh +++ b/tools/fleet/fleet-bg.sh @@ -7,7 +7,7 @@ set -u; P="$HOME/Desktop/fleet/pids"; L="$HOME/Desktop/fleet"; mkdir -p "$P" case "${1:-}" in start) n="$2"; shift 2; [ -f "$P/$n.pid" ] && kill -0 "$(cat "$P/$n.pid")" 2>/dev/null && { echo "$n already running (pid $(cat "$P/$n.pid"))"; exit 1; } - nohup setsid "$@" > "$L/$n.log" 2>&1 < /dev/null & echo $! > "$P/$n.pid"; echo "$n started pid $(cat "$P/$n.pid") log $L/$n.log" ;; + if command -v setsid >/dev/null; then nohup setsid "$@" > "$L/$n.log" 2>&1 < /dev/null & else nohup "$@" > "$L/$n.log" 2>&1 < /dev/null & fi; echo $! > "$P/$n.pid" # macOS has no setsid; echo "$n started pid $(cat "$P/$n.pid") log $L/$n.log" ;; stop) n="$2"; [ -f "$P/$n.pid" ] || { echo "$n: no pid file"; exit 1; }; pid=$(cat "$P/$n.pid") if kill -0 "$pid" 2>/dev/null; then kill -TERM -- "-$pid" 2>/dev/null || kill -TERM "$pid"; sleep 2; kill -0 "$pid" 2>/dev/null && kill -KILL -- "-$pid" 2>/dev/null; echo "$n stopped (pid $pid)"; else echo "$n not running (pid $pid gone)"; fi; rm -f "$P/$n.pid" ;; list) for f in "$P"/*.pid; do [ -f "$f" ] || continue; n=$(basename "$f" .pid); pid=$(cat "$f"); kill -0 "$pid" 2>/dev/null && echo "$n pid $pid alive" || echo "$n pid $pid gone"; done ;;