#!/usr/bin/env bash set -euo pipefail PID_ROOT="$1" [[ -n "$PID_ROOT" ]] || { echo "Usage: $0 " >&2; exit 2; } [[ -f "$PID_ROOT/pids.env" ]] || { echo "services are not running: $PID_ROOT" >&2; exit 2; } # shellcheck disable=SC1090 source "$PID_ROOT/pids.env" service_pids=("${rrdp_pid:-}" "${rsync_pid:-}") for pid in "${service_pids[@]}"; do if [[ "$pid" =~ ^[0-9]+$ ]] && kill -0 "$pid" 2>/dev/null; then kill "$pid" 2>/dev/null || true fi done for pid in "${service_pids[@]}"; do [[ "$pid" =~ ^[0-9]+$ ]] || continue for _ in $(seq 1 50); do kill -0 "$pid" 2>/dev/null || break sleep 0.1 done done rm -f "$PID_ROOT/pids.env" echo "fixed RRDP/rsync services stopped: $PID_ROOT"