From af583872625f125eaaa464e76ad8983687598d67 Mon Sep 17 00:00:00 2001 From: Bryan Biedenkapp Date: Thu, 10 Mar 2022 17:53:22 -0500 Subject: [PATCH] add helper start/stop scripts (these expect dvmhost to live at "/opt/dvmhost"); --- dvm-watchdog.sh | 18 ++++++++++++++++++ start-dvm.sh | 24 ++++++++++++++++++++++++ stop-dvm.sh | 7 +++++++ stop-watchdog.sh | 7 +++++++ 4 files changed, 56 insertions(+) create mode 100644 dvm-watchdog.sh create mode 100644 start-dvm.sh create mode 100644 stop-dvm.sh create mode 100644 stop-watchdog.sh diff --git a/dvm-watchdog.sh b/dvm-watchdog.sh new file mode 100644 index 00000000..c139ad45 --- /dev/null +++ b/dvm-watchdog.sh @@ -0,0 +1,18 @@ +#!/bin/bash +R_PATH=/opt/dvmhost +pushd ${R_PATH} + +if [ -z $1 ]; then exit 99; fi +PID_FILE=$1 +CONFIG_FILE=`cat $PID_FILE` + +while [ true ]; do + pgrep -f "[d]vmhost.*${CONFIG_FILE}" >/dev/null + if [ $? -ne 0 ]; then + ${R_PATH}/start-dvm.sh ${CONFIG_FILE} >/dev/null + fi + sleep 5s +done + +popd + diff --git a/start-dvm.sh b/start-dvm.sh new file mode 100644 index 00000000..d004e2d7 --- /dev/null +++ b/start-dvm.sh @@ -0,0 +1,24 @@ +#!/bin/bash +R_PATH=/opt/dvmhost +pushd ${R_PATH} + +if [ "`pwd`" != "${R_PATH}" ]; then exit 99; fi +if [ -z $1 ]; then exit 2; fi + +CONFIG=$1 +if [ ! -f ${R_PATH}/${CONFIG} ]; then exit 3; fi + +COMMAND="${R_PATH}/dvmhost -c ${R_PATH}/${CONFIG}" +nice -n -20 ${COMMAND} + +PID=`pgrep -f "${R_PATH}/${CONFIG}"` +PID_FILE=/tmp/${CONFIG}.pid +echo "${CONFIG}" > $PID_FILE + +pgrep -f "[d]vm-watchdog.*${PID_FILE}" >/dev/null +if [ $? -ne 0 ]; then + ${R_PATH}/dvm-watchdog.sh $PID_FILE & +fi + +popd + diff --git a/stop-dvm.sh b/stop-dvm.sh new file mode 100644 index 00000000..51fb4e9b --- /dev/null +++ b/stop-dvm.sh @@ -0,0 +1,7 @@ +#!/bin/bash +PID=`pgrep dvmhost` +pgrep dvmhost >/dev/null +if [ $? -eq 0 ]; then + kill -9 $PID +fi + diff --git a/stop-watchdog.sh b/stop-watchdog.sh new file mode 100644 index 00000000..b6e1684e --- /dev/null +++ b/stop-watchdog.sh @@ -0,0 +1,7 @@ +#!/bin/bash +PID=`pgrep dvm-watchdog.sh` +pgrep dvm-watchdog.sh >/dev/null +if [ $? -eq 0 ]; then + kill -9 $PID +fi +