Non Systemd start stop scripts

This commit is contained in:
John Haverlack 2026-02-03 20:19:44 -09:00
parent 9eee364202
commit 2b7fc38ca2
4 changed files with 195 additions and 0 deletions

View File

@ -0,0 +1,52 @@
#!/usr/bin/env bash
# start-sdl-mgr.sh - Script to start SDL Manager
set -euo pipefail
# Get $SDL_HOME directory from SCRIPT PATH
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
SDL_HOME="$(cd "$SCRIPT_DIR/.." && pwd)"
NODE_BIN_DIR="${SDL_HOME}/nodejs/current/bin"
NODE_BIN="${NODE_BIN_DIR}/node"
NPM_BIN="${NODE_BIN_DIR}/npm"
SDL_MGR_APP_DIR="${SDL_HOME}/sdl-mgr/current/app"
# Check that sdl-mgr is not already running
SDL_MGR_PID=""
for pid in $(pgrep -f 'node' 2>/dev/null || true); do
cwd=$(readlink /proc/$pid/cwd 2>/dev/null || true)
if [[ "$cwd" == *"sdl-mgr"* ]]; then
SDL_MGR_PID="$pid"
break
fi
done
if [[ -n "$SDL_MGR_PID" ]]; then
echo "ERROR: SDL Manager is already running with PID ${SDL_MGR_PID}"
echo " Stop it first: kill ${SDL_MGR_PID}"
exit 1
fi
# Verify paths exist
if [[ ! -f "$NODE_BIN" ]]; then
echo "ERROR: Node.js not found at: $NODE_BIN"
echo " Run install-sdl.sh first"
exit 1
fi
if [[ ! -d "$SDL_MGR_APP_DIR" ]]; then
echo "ERROR: SDL Manager app not found at: $SDL_MGR_APP_DIR"
echo " Run install-sdl.sh first"
exit 1
fi
echo "Starting SDL Manager..."
echo " App Dir: ${SDL_MGR_APP_DIR}"
echo " Node: ${NODE_BIN}"
export PATH="${NODE_BIN_DIR}:${PATH}"
cd "${SDL_MGR_APP_DIR}"
# Start in foreground (use nohup or systemd for background)
exec "${NPM_BIN}" start

View File

@ -0,0 +1,46 @@
#!/usr/bin/env bash
# stop-sdl-mgr.sh - Script to stop SDL Manager
set -euo pipefail
# Get sdl-mgr PID
SDL_MGR_PID=""
for pid in $(pgrep -f 'node' 2>/dev/null || true); do
cwd=$(readlink /proc/$pid/cwd 2>/dev/null || true)
if [[ "$cwd" == *"sdl-mgr"* ]]; then
SDL_MGR_PID="$pid"
break
fi
done
if [[ -z "$SDL_MGR_PID" ]]; then
echo "SDL Manager is not running"
exit 0
fi
echo "Stopping SDL Manager (PID: ${SDL_MGR_PID})..."
# Send SIGTERM for graceful shutdown
kill "$SDL_MGR_PID"
# Wait up to 10 seconds for process to exit
for i in {1..10}; do
if ! kill -0 "$SDL_MGR_PID" 2>/dev/null; then
echo "SDL Manager stopped successfully"
exit 0
fi
sleep 1
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 kill -0 "$SDL_MGR_PID" 2>/dev/null; then
echo "ERROR: Failed to stop SDL Manager"
exit 1
fi
fi
echo "SDL Manager stopped"

View File

@ -0,0 +1,51 @@
#!/usr/bin/env bash
# start-sdl-wkr.sh - Script to start SDL Worker
set -euo pipefail
# Get $SDL_HOME directory from SCRIPT PATH
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
SDL_HOME="$(cd "$SCRIPT_DIR/.." && pwd)"
NODE_BIN_DIR="${SDL_HOME}/nodejs/current/bin"
NODE_BIN="${NODE_BIN_DIR}/node"
NPM_BIN="${NODE_BIN_DIR}/npm"
SDL_WKR_APP_DIR="${SDL_HOME}/sdl-wkr/current/app"
# Check that sdl-wkr is not already running
SDL_WKR_PID=""
for pid in $(pgrep -f 'node' 2>/dev/null || true); do
cwd=$(readlink /proc/$pid/cwd 2>/dev/null || true)
if [[ "$cwd" == *"sdl-wkr"* ]]; then
SDL_WKR_PID="$pid"
break
fi
done
if [[ -n "$SDL_WKR_PID" ]]; then
echo "ERROR: SDL Worker is already running with PID ${SDL_WKR_PID}"
echo " Stop it first: kill ${SDL_WKR_PID}"
exit 1
fi
# Verify paths exist
if [[ ! -f "$NODE_BIN" ]]; then
echo "ERROR: Node.js not found at: $NODE_BIN"
echo " Run install-sdl.sh first"
exit 1
fi
if [[ ! -d "$SDL_WKR_APP_DIR" ]]; then
echo "ERROR: SDL Worker app not found at: $SDL_WKR_APP_DIR"
exit 1
fi
echo "Starting SDL Worker..."
echo " App Dir: ${SDL_WKR_APP_DIR}"
echo " Node: ${NODE_BIN}"
export PATH="${NODE_BIN_DIR}:${PATH}"
cd "${SDL_WKR_APP_DIR}"
# Start in foreground (use nohup or systemd for background)
exec "${NPM_BIN}" start

View File

@ -0,0 +1,46 @@
#!/usr/bin/env bash
# stop-sdl-wkr.sh - Script to stop SDL Worker
set -euo pipefail
# Get sdl-wkr PID
SDL_WKR_PID=""
for pid in $(pgrep -f 'node' 2>/dev/null || true); do
cwd=$(readlink /proc/$pid/cwd 2>/dev/null || true)
if [[ "$cwd" == *"sdl-wkr"* ]]; then
SDL_WKR_PID="$pid"
break
fi
done
if [[ -z "$SDL_WKR_PID" ]]; then
echo "SDL Worker is not running"
exit 0
fi
echo "Stopping SDL Worker (PID: ${SDL_WKR_PID})..."
# Send SIGTERM for graceful shutdown
kill "$SDL_WKR_PID"
# Wait up to 10 seconds for process to exit
for i in {1..10}; do
if ! kill -0 "$SDL_WKR_PID" 2>/dev/null; then
echo "SDL Worker stopped successfully"
exit 0
fi
sleep 1
done
# If still running after 10 seconds, force kill
if kill -0 "$SDL_WKR_PID" 2>/dev/null; then
echo "WARNING: Graceful shutdown failed, forcing kill..."
kill -9 "$SDL_WKR_PID"
sleep 1
if kill -0 "$SDL_WKR_PID" 2>/dev/null; then
echo "ERROR: Failed to stop SDL Worker"
exit 1
fi
fi
echo "SDL Worker stopped"