From 07720f29ca9366d98dc187623ac9d1efeccabae1 Mon Sep 17 00:00:00 2001 From: imuge Date: Wed, 12 May 2021 18:26:20 +0800 Subject: [PATCH] update shutdown shell, kill the process and wait for it to stop completely --- .../src/main/resources/scripts/shutdown.sh | 26 ++++++++----------- .../resources/scripts/manager-shutdown.sh | 13 +++++++--- .../main/resources/scripts/peer-shutdown.sh | 24 +++++------------ 3 files changed, 27 insertions(+), 36 deletions(-) diff --git a/deploy/deploy-gateway/src/main/resources/scripts/shutdown.sh b/deploy/deploy-gateway/src/main/resources/scripts/shutdown.sh index 068c5ed0..2a39f249 100644 --- a/deploy/deploy-gateway/src/main/resources/scripts/shutdown.sh +++ b/deploy/deploy-gateway/src/main/resources/scripts/shutdown.sh @@ -41,23 +41,19 @@ checkpid() { #注意: 在shell编程中,"$?" 表示上一句命令或者一个函数的返回值 ################################### stop() { - checkpid - - if [[ $psid -ne 0 ]]; then - echo "Stopping Gateway ......(pid=$psid) " - JAVA_CMD="kill -9 $psid" - sleep 1 - $JAVA_CMD - if [[ $? -eq 0 ]]; then - echo "[OK]" + checkpid + if [[ $psid -ne 0 ]]; then + echo "Stopping Gateway (PID = $psid) ......" + kill $psid + while kill -0 $psid 2>/dev/null; do sleep 1; done + echo "================================" + echo "Success" + echo "================================" else - echo "[Failed]" + echo "================================" + echo "WARN: Gateway is not running" + echo "================================" fi - else - echo "================================" - echo "WARN: Gateway is not running" - echo "================================" - fi } diff --git a/deploy/deploy-peer/src/main/resources/scripts/manager-shutdown.sh b/deploy/deploy-peer/src/main/resources/scripts/manager-shutdown.sh index e5f6b292..3974ce8f 100644 --- a/deploy/deploy-peer/src/main/resources/scripts/manager-shutdown.sh +++ b/deploy/deploy-peer/src/main/resources/scripts/manager-shutdown.sh @@ -8,9 +8,14 @@ PID=`ps -ef | grep $BOOT_HOME/manager/manager-booter | grep -v grep | awk '{prin #通过Kill命令将进程杀死 if [ -z "$PID" ]; then - echo "Unable to find JDChain Manager PID. stop aborted." + echo "================================" + echo "WARN: Unable to find JD Chain Manager PID($PID)." + echo "================================" else - echo "Start to kill PID = $PID ..." - kill -9 $PID - echo "JDChain Manager has been stopped ..." + echo "Stopping Manager (PID = $PID) ......" + kill $PID + while kill -0 $PID 2>/dev/null; do sleep 1; done + echo "================================" + echo "Success" + echo "================================" fi \ No newline at end of file diff --git a/deploy/deploy-peer/src/main/resources/scripts/peer-shutdown.sh b/deploy/deploy-peer/src/main/resources/scripts/peer-shutdown.sh index 70ed2ce0..968eb61b 100644 --- a/deploy/deploy-peer/src/main/resources/scripts/peer-shutdown.sh +++ b/deploy/deploy-peer/src/main/resources/scripts/peer-shutdown.sh @@ -41,24 +41,14 @@ checkpid() { #注意: 在shell编程中,"$?" 表示上一句命令或者一个函数的返回值 ################################### stop() { - checkpid + checkpid if [[ $psid -ne 0 ]]; then - echo "Stopping Peer ......(pid=$psid) " - JAVA_CMD="kill $psid" - sleep 1 - $JAVA_CMD - if [[ $? -eq 0 ]]; then - echo "[Kill OK]" - else - JAVA_CMD="kill -9 $psid" - sleep 3 - $JAVA_CMD - if [[ $? -eq 0 ]]; then - echo "[Kill -9 OK]" - else - echo "[failed]" - fi - fi + echo "Stopping Peer (PID = $psid) ......" + kill $psid + while kill -0 $psid 2>/dev/null; do sleep 1; done + echo "================================" + echo "Success" + echo "================================" else echo "================================" echo "WARN: Peer is not running"