Fixing Wkr Start / Stop

This commit is contained in:
John Haverlack 2026-02-04 20:40:39 -09:00
parent 8b00086e9f
commit 456ac1761b
3 changed files with 43 additions and 37 deletions

View File

@ -17,6 +17,14 @@ use_systemd() {
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
SDL_HOME="$(cd "$SCRIPT_DIR/.." && pwd)" SDL_HOME="$(cd "$SCRIPT_DIR/.." && pwd)"
if use_systemd; then
# Systemd mode - let systemd handle it
echo "Starting SDL Manager (systemd)..."
systemctl --user start sdl-mgr
exit 0
fi
# Manual mode - continue with checks
NODE_BIN_DIR="${SDL_HOME}/nodejs/current/bin" NODE_BIN_DIR="${SDL_HOME}/nodejs/current/bin"
NODE_BIN="${NODE_BIN_DIR}/node" NODE_BIN="${NODE_BIN_DIR}/node"
NPM_BIN="${NODE_BIN_DIR}/npm" NPM_BIN="${NODE_BIN_DIR}/npm"
@ -35,7 +43,7 @@ done
if [[ -n "$SDL_MGR_PID" ]]; then if [[ -n "$SDL_MGR_PID" ]]; then
echo "ERROR: SDL Manager is already running with PID ${SDL_MGR_PID}" echo "ERROR: SDL Manager is already running with PID ${SDL_MGR_PID}"
echo " Stop it first: kill ${SDL_MGR_PID}" echo " Stop it first: ${SDL_HOME}/scripts/stop-sdl-mgr.sh"
exit 1 exit 1
fi fi
@ -54,14 +62,4 @@ fi
echo "Starting SDL Manager..." echo "Starting SDL Manager..."
echo " App Dir: ${SDL_MGR_APP_DIR}" echo " App Dir: ${SDL_MGR_APP_DIR}"
echo " Node: ${NODE_BIN}" echo " Node:
export PATH="${NODE_BIN_DIR}:${PATH}"
cd "${SDL_MGR_APP_DIR}"
if use_systemd; then
systemctl --user start sdl-mgr
else
# Manual background start logic
"${NPM_BIN}" start &
fi

View File

@ -31,6 +31,11 @@ else
exit 0 exit 0
fi fi
echo "SDL Manager is running with PID: ${SDL_MGR_PID}" # Get process uptime
PROCESS_START=$(ps -p "$SDL_MGR_PID" -o lstart= 2>/dev/null || echo "unknown")
echo "SDL Manager is running"
echo " PID: ${SDL_MGR_PID}"
echo " Started: ${PROCESS_START}"
exit 0 exit 0
fi fi

View File

@ -13,7 +13,15 @@ use_systemd() {
return 1 # Use manual scripts return 1 # Use manual scripts
} }
# Get sdl-mgr PID if use_systemd; then
# Systemd mode - let systemd handle it
echo "Stopping SDL Manager (systemd)..."
systemctl --user stop sdl-mgr --quiet 2>/dev/null || true
echo "SDL Manager stopped"
exit 0
fi
# Manual mode - find and kill process
SDL_MGR_PID="" SDL_MGR_PID=""
for pid in $(pgrep -f 'node' 2>/dev/null || true); do for pid in $(pgrep -f 'node' 2>/dev/null || true); do
cwd=$(readlink /proc/$pid/cwd 2>/dev/null || true) cwd=$(readlink /proc/$pid/cwd 2>/dev/null || true)
@ -30,10 +38,6 @@ fi
echo "Stopping SDL Manager (PID: ${SDL_MGR_PID})..." echo "Stopping SDL Manager (PID: ${SDL_MGR_PID})..."
if use_systemd; then
systemctl --user stop sdl-mgr
else
# Manual PID-based stop logic
# Send SIGTERM for graceful shutdown # Send SIGTERM for graceful shutdown
kill "$SDL_MGR_PID" kill "$SDL_MGR_PID"
@ -57,6 +61,5 @@ else
exit 1 exit 1
fi fi
fi fi
fi
echo "SDL Manager stopped" echo "SDL Manager stopped"