Skip to content

Commit a4335f8

Browse files
committed
Update install.sh
1 parent 4649268 commit a4335f8

File tree

1 file changed

+26
-12
lines changed

1 file changed

+26
-12
lines changed

install.sh

Lines changed: 26 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -314,40 +314,53 @@ node_running() {
314314
# Helper: Stop all running node processes with verification
315315
stop_all_processes() {
316316
local timeout="${1:-15}"
317+
local use_sudo=""
317318

318319
step "Stopping any running node processes..."
319320

321+
# Determine if we need sudo (processes may be owned by root)
322+
if [[ $(id -u) -ne 0 ]]; then
323+
if pgrep -f "pchaind|cosmovisor|push-validator" >/dev/null 2>&1; then
324+
use_sudo="sudo"
325+
fi
326+
fi
327+
320328
# 1. Try graceful stop via manager first
321329
if [[ -x "$MANAGER_BIN" ]]; then
322-
"$MANAGER_BIN" stop >/dev/null 2>&1 || true
330+
$use_sudo "$MANAGER_BIN" stop >/dev/null 2>&1 || true
323331
sleep 2
324332
fi
325333

326-
# 2. Kill cosmovisor processes
327-
pkill -f "cosmovisor.*run" 2>/dev/null || true
334+
# 2. Kill push-validator processes (logs, etc.)
335+
$use_sudo pkill -f "push-validator" 2>/dev/null || true
336+
337+
# 3. Kill cosmovisor processes
338+
$use_sudo pkill -f "cosmovisor.*run" 2>/dev/null || true
328339

329-
# 3. Kill pchaind processes
330-
pkill -f "pchaind.*start" 2>/dev/null || true
340+
# 4. Kill pchaind processes
341+
$use_sudo pkill -f "pchaind.*start" 2>/dev/null || true
331342

332-
# 4. Wait and verify all processes stopped
343+
# 5. Wait and verify all processes stopped
333344
local elapsed=0
334345
while [[ $elapsed -lt $timeout ]]; do
335346
if ! pgrep -f "cosmovisor.*run" >/dev/null 2>&1 && \
336-
! pgrep -f "pchaind.*start" >/dev/null 2>&1; then
347+
! pgrep -f "pchaind.*start" >/dev/null 2>&1 && \
348+
! pgrep -f "push-validator" >/dev/null 2>&1; then
337349
ok "All processes stopped"
338350
return 0
339351
fi
340352
sleep 1
341353
((elapsed++))
342354
done
343355

344-
# 5. Force kill if still running
356+
# 6. Force kill if still running
345357
verbose "Processes still running, force killing..."
346-
pkill -9 -f "cosmovisor.*run" 2>/dev/null || true
347-
pkill -9 -f "pchaind.*start" 2>/dev/null || true
358+
$use_sudo pkill -9 -f "push-validator" 2>/dev/null || true
359+
$use_sudo pkill -9 -f "cosmovisor.*run" 2>/dev/null || true
360+
$use_sudo pkill -9 -f "pchaind.*start" 2>/dev/null || true
348361
sleep 1
349362

350-
# 6. Final check
363+
# 7. Final check
351364
if pgrep -f "cosmovisor.*run" >/dev/null 2>&1 || \
352365
pgrep -f "pchaind.*start" >/dev/null 2>&1; then
353366
err "Failed to stop all processes"
@@ -358,10 +371,11 @@ stop_all_processes() {
358371
return 0
359372
}
360373

361-
# Helper: Check if any node processes are running (cosmovisor or pchaind)
374+
# Helper: Check if any node processes are running (cosmovisor, pchaind, or push-validator)
362375
any_node_running() {
363376
pgrep -f "cosmovisor.*run" >/dev/null 2>&1 && return 0
364377
pgrep -f "pchaind.*start" >/dev/null 2>&1 && return 0
378+
pgrep -f "push-validator" >/dev/null 2>&1 && return 0
365379
# Also check via manager status if available
366380
if [[ -x "$MANAGER_BIN" ]]; then
367381
node_running && return 0

0 commit comments

Comments
 (0)