summaryrefslogtreecommitdiffstats
path: root/src/mstop.sh
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:45:59 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:45:59 +0000
commit19fcec84d8d7d21e796c7624e521b60d28ee21ed (patch)
tree42d26aa27d1e3f7c0b8bd3fd14e7d7082f5008dc /src/mstop.sh
parentInitial commit. (diff)
downloadceph-upstream/16.2.11+ds.tar.xz
ceph-upstream/16.2.11+ds.zip
Adding upstream version 16.2.11+ds.upstream/16.2.11+dsupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/mstop.sh')
-rwxr-xr-xsrc/mstop.sh59
1 files changed, 59 insertions, 0 deletions
diff --git a/src/mstop.sh b/src/mstop.sh
new file mode 100755
index 000000000..702d17659
--- /dev/null
+++ b/src/mstop.sh
@@ -0,0 +1,59 @@
+#!/usr/bin/env bash
+
+set -e
+
+script_root=`dirname $0`
+
+[ -z "$BUILD_DIR" ] && BUILD_DIR=build
+
+if [ -e CMakeCache.txt ]; then
+ script_root=$PWD
+elif [ -e $script_root/../${BUILD_DIR}/CMakeCache.txt ]; then
+ script_root=`(cd $script_root/../${BUILD_DIR}; pwd)`
+fi
+
+[ "$#" -lt 1 ] && echo "usage: $0 <name> [entity [id]]" && exit 1
+
+name=$1
+entity=$2
+id=$3
+
+run_root=$script_root/run/$name
+pidpath=$run_root/out
+
+if [ "$entity" == "" ]; then
+ pfiles=`ls $pidpath/*.pid` || true
+elif [ "$id" == "" ]; then
+ pfiles=`ls $pidpath/$entity.*.pid` || true
+else
+ pfiles=`ls $pidpath/$entity.$id.pid` || true
+fi
+
+MAX_RETRIES=20
+
+for pidfile in $pfiles; do
+ pid=`cat $pidfile`
+ fname=`echo $pidfile | sed 's/.*\///g'`
+ [ "$pid" == "" ] && exit
+ [ $pid -eq 0 ] && exit
+ echo pid=$pid
+ extra_check=""
+ entity=`echo $fname | sed 's/\..*//g'`
+ name=`echo $fname | sed 's/\.pid$//g'`
+ [ "$entity" == "radosgw" ] && extra_check="-e lt-radosgw"
+ echo entity=$entity pid=$pid name=$name
+ counter=0
+ signal=""
+ while ps -p $pid -o args= | grep -q -e $entity $extracheck ; do
+ if [[ "$counter" -gt MAX_RETRIES ]]; then
+ signal="-9"
+ fi
+ cmd="kill $signal $pid"
+ printf "$cmd...\n"
+ $cmd
+ sleep 1
+ counter=$((counter+1))
+ continue
+ done
+done
+