From: Kefu Chai Date: Thu, 1 Apr 2021 11:13:54 +0000 (+0800) Subject: stop.sh: extract maybe_kill() into a function X-Git-Tag: v17.1.0~2397^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=09396638f6bce15450ecee77eddac418e87dbe00;p=ceph-ci.git stop.sh: extract maybe_kill() into a function for better readability Signed-off-by: Kefu Chai --- diff --git a/src/stop.sh b/src/stop.sh index 659dcfcdae3..71bc40986d1 100755 --- a/src/stop.sh +++ b/src/stop.sh @@ -45,6 +45,34 @@ do_killall() { $SUDO killall -u $MYNAME $1 } +maybe_kill() { + local p=$1 + shift + local step=$1 + shift + case $step in + 0) + # killing processes + pkill -SIGTERM -u $MYUID $p + return 1 + ;; + [1-5]) + # wait for processes to stop + if pkill -0 -u $MYUID $p; then + # $p is still alive + return 1 + fi + ;; + 8) + # kill and print if some left + if pkill -0 -u $MYUID $p; then + echo "WARNING: $p did not orderly shutdown, killing it hard!" >&2 + pkill -SIGKILL -u $MYUID $p + fi + ;; + esac +} + do_killcephadm() { FSID=$($CEPH_BIN/ceph -c $conf_fn fsid) sudo $CEPHADM_DIR_PATH/cephadm rm-cluster --fsid $FSID --force @@ -171,34 +199,17 @@ if [ $stop_all -eq 1 ]; then since_kill=$((since_kill + step)) survivors='' for p in $to_kill; do - case $step in - 0) - # killing processes - pkill -SIGTERM -u $MYUID $p - ;; - [1-5]) - # wait for processes to stop - if pkill -0 -u $MYUID $p; then - # $p is still alive - survivors+=" $p" - fi - ;; - 8) - # kill and print if some left - if pkill -0 -u $MYUID $p; then - pkill -SIGKILL -u $MYUID $p - echo "WARNING: $p did not orderly shutdown, killing it hard!" >&2 - fi - ;; - esac + if ! maybe_kill "$p" $step; then + survivors+=" $p" + fi done - if [ $since_kill -eq 0 ]; then - continue - elif [ -z "$survivors" ]; then + if [ -z "$survivors" ]; then break fi to_kill=$survivors - echo "WARNING: $to_kill still alive after $since_kill seconds" >&2 + if [ $since_kill -gt 0 ]; then + echo "WARNING: $to_kill still alive after $since_kill seconds" >&2 + fi done pkill -u $MYUID -f valgrind.bin.\*ceph-mon