stop server script
This commit is contained in:
45
stop.sh
Executable file
45
stop.sh
Executable file
@@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright 2024-2026 The DragonX Developers
|
||||
# Released under GPLv3
|
||||
#
|
||||
# Stops lightwalletd and its monitor process.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
PIDFILE="/tmp/lwd-monitor.pid"
|
||||
|
||||
# Stop the monitor first (if running), which will also stop lightwalletd
|
||||
if [[ -f "$PIDFILE" ]]; then
|
||||
MON_PID=$(cat "$PIDFILE")
|
||||
if kill -0 "$MON_PID" 2>/dev/null; then
|
||||
echo "Stopping monitor (PID $MON_PID)..."
|
||||
kill "$MON_PID"
|
||||
# Wait briefly for cleanup
|
||||
for i in $(seq 1 10); do
|
||||
kill -0 "$MON_PID" 2>/dev/null || break
|
||||
sleep 0.5
|
||||
done
|
||||
echo "Monitor stopped."
|
||||
else
|
||||
echo "Stale monitor pidfile found, removing."
|
||||
rm -f "$PIDFILE"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Kill any remaining lightwalletd processes
|
||||
LWDPIDS=$(pgrep -f 'lightwalletd.*-conf-file' 2>/dev/null || true)
|
||||
if [[ -n "$LWDPIDS" ]]; then
|
||||
echo "Stopping lightwalletd (PID $LWDPIDS)..."
|
||||
kill $LWDPIDS 2>/dev/null || true
|
||||
sleep 1
|
||||
# Force kill if still running
|
||||
for pid in $LWDPIDS; do
|
||||
if kill -0 "$pid" 2>/dev/null; then
|
||||
echo "Force killing PID $pid..."
|
||||
kill -9 "$pid" 2>/dev/null || true
|
||||
fi
|
||||
done
|
||||
echo "lightwalletd stopped."
|
||||
else
|
||||
echo "No lightwalletd process found."
|
||||
fi
|
||||
Reference in New Issue
Block a user