-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathstop-server.sh
More file actions
executable file
·66 lines (52 loc) · 1.62 KB
/
Copy pathstop-server.sh
File metadata and controls
executable file
·66 lines (52 loc) · 1.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/usr/bin/env bash
set -euo pipefail
IFS=$'\n\t'
# ------------------------------------------------------
# 🧩 LEO CDP Stop Script
# Safely stops running LEO CDP services (Admin, Observer, Scheduler)
# ------------------------------------------------------
LOG_FILE="./leocdp-stop.log"
timestamp() {
date '+%Y-%m-%d %H:%M:%S'
}
log() {
echo "[$(timestamp)] $*" | tee -a "$LOG_FILE"
}
stop_service() {
local prefix="$1"
local description="$2"
local pid
pid=$(pgrep -f "java.*${prefix}" || true)
if [[ -n "$pid" ]]; then
log "Stopping ${description} (prefix=${prefix}) PID ${pid}..."
kill -15 "$pid" 2>/dev/null || true
sleep 4
if ps -p "$pid" > /dev/null 2>&1; then
log "PID ${pid} still alive, forcing kill..."
kill -9 "$pid" 2>/dev/null || true
else
log "${description} stopped successfully."
fi
else
log "No active process found for ${description}."
fi
}
log "---------------- LEO CDP Shutdown Started ----------------"
# === ADMIN ===
stop_service "leocdp-admin" "LEO CDP Admin Service"
# === OBSERVER ===
stop_service "datahub" "LEO Data Observer"
# === JOB SCHEDULER ===
stop_service "DataConnectorScheduler" "LEO CDP Job Scheduler"
# === Any remaining LEO processes ===
leftover_pids=$(pgrep -f "leo-" || true)
if [[ -n "$leftover_pids" ]]; then
log "Killing remaining LEO processes: ${leftover_pids}"
kill -15 $leftover_pids 2>/dev/null || true
sleep 3
kill -9 $leftover_pids 2>/dev/null || true
else
log "No leftover LEO processes found."
fi
log "✅ All LEO CDP services have been stopped."
log "----------------------------------------------------------"