diff --git a/stop.sh b/stop.sh index 2f26bc1f..52ef00f2 100755 --- a/stop.sh +++ b/stop.sh @@ -21,21 +21,32 @@ fi read pid 2>/dev/null /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 +# Ensure curl is installed +curl_path=$(which curl) + +if [[ -f $curl_path ]]; then + + 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 "${red}No response from Qortal node - not running?${normal}" + exit 1 fi - exit 0 + else - echo "${red}No response from Qortal node - not running?${normal}" + echo "${red}curl is not installed or in the path${normal}" exit 1 fi