kdash/kdash_client/extensions/kdash/daemon.sh

83 lines
1.9 KiB
Bash

#!/bin/sh
DAEMON_PATH="/mnt/us/extensions/kdash"
DAEMON_ENV_FILE="${DAEMON_PATH}/kdash.env"
DAEMON_ENABLED_FILE="${DAEMON_PATH}/ENABLED"
DAEMON="./kdash_client"
DAEMONOPTS=""
NAME="kdash"
# DESC="kdash client daemon"
PIDFILE="${DAEMON_PATH}/${DAEMON}.pid"
# SCRIPTNAME="/etc/init.d/${NAME}"
case "$1" in
set-gateway)
GATEWAY=$(ip route | grep default | grep "${NET}" | awk '{print $3}')
echo "$GATEWAY"
echo "$GATEWAY" >"${DAEMON_PATH}/gateway.txt"
;;
enable)
touch "$DAEMON_ENABLED_FILE"
;;
disable)
rm -f "$DAEMON_ENABLED_FILE"
;;
start)
if [ -e "$DAEMON_ENABLED_FILE" ]; then
printf "%-50s" "Starting $NAME..."
cd "$DAEMON_PATH" || exit
. "$DAEMON_ENV_FILE" || exit
PID=$(
RUST_BACKTRACE=full RUST_LOG=debug $DAEMON "$DAEMONOPTS" >/dev/null 2>&1 &
echo $!
)
#echo "Saving PID" $PID " to " $PIDFILE
if [ -z "$PID" ]; then
printf "%s\n" "Fail"
else
echo "$PID" >"$PIDFILE"
printf "%s\n" "Ok"
fi
else
echo "Service not enabled. ENABLED file not found"
fi
;;
status)
printf "%-50s" "Checking $NAME..."
if [ -f $PIDFILE ]; then
PID=$(cat $PIDFILE)
if [ -z "$(ps axf | grep "${PID}" | grep -v grep)" ]; then
printf "%s\n" "Process dead but pidfile exists"
else
echo "Running"
fi
else
printf "%s\n" "Service not running"
fi
;;
stop)
printf "%-50s" "Stopping $NAME"
PID=$(cat $PIDFILE)
cd $DAEMON_PATH || exit
if [ -f $PIDFILE ]; then
kill -HUP "$PID"
printf "%s\n" "Ok"
rm -f $PIDFILE
else
printf "%s\n" "pidfile not found"
fi
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 {set-gateway|enable|disable|status|start|stop|restart}"
exit 1
;;
esac