Improvements
This commit is contained in:
48
bin/stop.sh
Executable file
48
bin/stop.sh
Executable file
@@ -0,0 +1,48 @@
|
||||
#!/bin/bash
|
||||
# requires bash 3
|
||||
|
||||
TEST_STRING=java
|
||||
|
||||
###
|
||||
# Test if the etherpad instance is alive by checking for
|
||||
# the process in etherpad/data/etherpad.pid
|
||||
#
|
||||
# Use that PID to see if there are any processes running
|
||||
# and if the command of that process matches $TEST_STRING
|
||||
#
|
||||
# If it matches kill the $PID,
|
||||
# wait and see if the process ended.
|
||||
#
|
||||
# Exits 0 on success, 1 on failure
|
||||
|
||||
ETHERPADDIR="$(cd "$(dirname "$0")/.."; pwd)"
|
||||
PID_FILE="${ETHERPADDIR}/etherpad/data/etherpad.pid"
|
||||
|
||||
PID=`cat ${PID_FILE}`
|
||||
RUNNING_CMD="ps -o pid,ruser,ucmd --no-headers -p ${PID}"
|
||||
|
||||
function check_if_alive_by_pid {
|
||||
result=`ps -o pid,ruser,ucmd --no-headers -p ${1}`
|
||||
if [[ "${result}" =~ "${TEST_STRING}" ]] ; then
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
i=0
|
||||
while [ $i -le 10 ] ; do
|
||||
check_if_alive_by_pid $PID
|
||||
if [[ $? -eq 0 ]] ; then
|
||||
kill -9 $PID
|
||||
sleep 5
|
||||
else
|
||||
exit 0
|
||||
fi
|
||||
|
||||
i=$(( $i + 1 ))
|
||||
done
|
||||
|
||||
# Should only get here if we've tried restarting the
|
||||
# Etherpad process 10 times unsuccessfully
|
||||
exit 1
|
||||
Reference in New Issue
Block a user