Fixing Wkr Start / Stop
This commit is contained in:
parent
8b00086e9f
commit
456ac1761b
|
|
@ -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
|
|
||||||
|
|
@ -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
|
||||||
|
|
@ -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,32 +38,27 @@ fi
|
||||||
|
|
||||||
echo "Stopping SDL Manager (PID: ${SDL_MGR_PID})..."
|
echo "Stopping SDL Manager (PID: ${SDL_MGR_PID})..."
|
||||||
|
|
||||||
if use_systemd; then
|
# Send SIGTERM for graceful shutdown
|
||||||
systemctl --user stop sdl-mgr
|
kill "$SDL_MGR_PID"
|
||||||
else
|
|
||||||
# Manual PID-based stop logic
|
|
||||||
# Send SIGTERM for graceful shutdown
|
|
||||||
kill "$SDL_MGR_PID"
|
|
||||||
|
|
||||||
# Wait up to 10 seconds for process to exit
|
# Wait up to 10 seconds for process to exit
|
||||||
for i in {1..10}; do
|
for i in {1..10}; do
|
||||||
if ! kill -0 "$SDL_MGR_PID" 2>/dev/null; then
|
if ! kill -0 "$SDL_MGR_PID" 2>/dev/null; then
|
||||||
echo "SDL Manager stopped successfully"
|
echo "SDL Manager stopped successfully"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
sleep 1
|
sleep 1
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# If still running after 10 seconds, force kill
|
||||||
|
if kill -0 "$SDL_MGR_PID" 2>/dev/null; then
|
||||||
|
echo "WARNING: Graceful shutdown failed, forcing kill..."
|
||||||
|
kill -9 "$SDL_MGR_PID"
|
||||||
|
sleep 1
|
||||||
|
|
||||||
# If still running after 10 seconds, force kill
|
|
||||||
if kill -0 "$SDL_MGR_PID" 2>/dev/null; then
|
if kill -0 "$SDL_MGR_PID" 2>/dev/null; then
|
||||||
echo "WARNING: Graceful shutdown failed, forcing kill..."
|
echo "ERROR: Failed to stop SDL Manager"
|
||||||
kill -9 "$SDL_MGR_PID"
|
exit 1
|
||||||
sleep 1
|
|
||||||
|
|
||||||
if kill -0 "$SDL_MGR_PID" 2>/dev/null; then
|
|
||||||
echo "ERROR: Failed to stop SDL Manager"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue