enhance the helper start scripts;

pull/12/head
Bryan Biedenkapp 4 years ago
parent ed4c7aca49
commit 487ff46945

@ -1,18 +1,27 @@
#!/bin/bash #!/bin/bash
R_PATH=/opt/dvm R_PATH=/opt/dvm
pushd ${R_PATH} pushd ${R_PATH} >/dev/null
if [ -z $1 ]; then exit 1; fi
if [ -z $2 ]; then exit 1; fi
if [ -z $1 ]; then exit 99; fi
PID_FILE=$1 PID_FILE=$1
CONFIG_FILE=`cat $PID_FILE` if [ ! -e $PID_FILE ]; then exit 98; fi
CONFIG=$2
if [ ! -f ${R_PATH}/${CONFIG} ]; then exit 3; fi
PID=`cat $PID_FILE`
while [ true ]; do while [ true ]; do
pgrep -f "[d]vmhost.*${CONFIG_FILE}" >/dev/null PS_OUT=`ps --no-headers ${PID}`
if [ $? -ne 0 ]; then if [ ${#PS_OUT} -eq 0 ]; then
${R_PATH}/start-dvm.sh ${CONFIG_FILE} >/dev/null logger "dvmhost PID ${PID} not running -- restarting ${PID_FILE} ${CONFIG}"
${R_PATH}/start-dvm.sh ${CONFIG} ${PID_FILE} >/dev/null
ERRNO=$?
if [ $ERRNO -ne 0 ]; then
logger "dvmhost start-dvm.sh script failed to start; errno ${ERRNO}"
fi
fi fi
sleep 5s sleep 5s
done done
popd popd >/dev/null

@ -1,24 +1,30 @@
#!/bin/bash #!/bin/bash
R_PATH=/opt/dvm R_PATH=/opt/dvm
pushd ${R_PATH} pushd ${R_PATH} >/dev/null
if [ "`pwd`" != "${R_PATH}" ]; then exit 99; fi if [ "`pwd`" != "${R_PATH}" ]; then exit 99; fi
if [ -z $1 ]; then exit 2; fi if [ -z $1 ]; then exit 2; fi
CONFIG=$1 CONFIG=$1
if [ ! -f ${R_PATH}/${CONFIG} ]; then exit 3; fi if [ ! -f ${R_PATH}/${CONFIG} ]; then exit 3; fi
PID_FILE=$2
if [ -z $2 ]; then
STRIPPED_CONFIG=`basename ${CONFIG}`
STRIPPED_CONFIG=${STRIPPED_CONFIG%.yml}
PID_FILE=/tmp/dvmhost.${STRIPPED_CONFIG}.pid
fi
COMMAND="${R_PATH}/bin/dvmhost -c ${R_PATH}/${CONFIG}" COMMAND="${R_PATH}/bin/dvmhost -c ${R_PATH}/${CONFIG}"
nice -n -20 ${COMMAND} nice -n -20 ${COMMAND}
if [ -e /tmp/${CONFIG}.pid ]; then rm -f /tmp/${CONFIG}.pid; fi
PID=`pgrep -f "${R_PATH}/${CONFIG}"` PID=`pgrep -f "${R_PATH}/${CONFIG}"`
PID_FILE=/tmp/${CONFIG}.pid
echo "${CONFIG}" > $PID_FILE
echo "${PID}" > $PID_FILE
pgrep -f "[d]vm-watchdog.*${PID_FILE}" >/dev/null pgrep -f "[d]vm-watchdog.*${PID_FILE}" >/dev/null
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
${R_PATH}/dvm-watchdog.sh $PID_FILE & ${R_PATH}/dvm-watchdog.sh $PID_FILE $CONFIG &
fi fi
popd popd >/dev/null

@ -1,6 +1,17 @@
#!/bin/bash #!/bin/bash
PID=`pgrep dvmhost` PID=`pgrep dvmhost`
pgrep dvmhost >/dev/null pgrep dvmhost >/dev/null
if [ $? -eq 0 ]; then
kill -15 $PID
sleep 2s
pgrep dvmhost >/dev/null
if [ $? -eq 0 ]; then
kill -9 $PID
fi
fi
PID=`pgrep dvm-watchdog.sh`
pgrep dvm-watchdog.sh >/dev/null
if [ $? -eq 0 ]; then if [ $? -eq 0 ]; then
kill -9 $PID kill -9 $PID
fi fi

Loading…
Cancel
Save

Powered by TurnKey Linux.