Skip to content

Commit

Permalink
Add PID tracking to stop.sh (thanks IceBurst)
Browse files Browse the repository at this point in the history
  • Loading branch information
catbref committed Mar 30, 2020
1 parent 00ac26c commit 82f6e38
Showing 1 changed file with 33 additions and 2 deletions.
35 changes: 33 additions & 2 deletions stop.sh
Original file line number Diff line number Diff line change
@@ -1,10 +1,41 @@
#!/bin/sh
#!/usr/bin/env bash

# Check for color support
if [ -t 1 ]; then
ncolors=$( tput colors )
if [ -n "${ncolors}" -a "${ncolors}" -ge 8 ]; then
if normal="$( tput sgr0 )"; then
# use terminfo names
red="$( tput setaf 1 )"
green="$( tput setaf 2)"
else
# use termcap names for FreeBSD compat
normal="$( tput me )"
red="$( tput AF 1 )"
green="$( tput AF 2)"
fi
fi
fi

# Track the pid if we can find it
read pid 2>/dev/null <run.pid
is_pid_valid=$?

echo 'Calling GET /admin/stop on local Qortal node'
if curl --url http://localhost:12391/admin/stop 1>/dev/null 2>&1; then
echo "Qortal node responded and should be shutting down"
if [ "${is_pid_valid}" -eq 0 ]; then
echo -n "Monitoring for Qortal node to end"
while s=`ps -p $pid -o stat=` && [[ "$s" && "$s" != 'Z' ]]; do
echo -n .
sleep 1
done
echo
echo "${green}Qortal ended gracefully${normal}"
rm -f run.pid
fi
exit 0
else
echo "No response from Qortal node - not running?"
echo "${red}No response from Qortal node - not running?${normal}"
exit 1
fi

0 comments on commit 82f6e38

Please sign in to comment.