kdash/kdash_client/daemon.sh
2024-11-15 23:02:35 +01:00

67 lines
1.4 KiB
Bash

#!/usr/bin/env sh
DAEMON_PATH="/mnt/us/kdash"
DAEMON_ENV_FILE="${DAEMON_PATH}/kdash.env"
DAEMON="./kdash_client"
DAEMONOPTS=""
NAME="kdash"
# DESC="kdash client daemon"
PIDFILE="${DAEMON_PATH}/${DAEMON}.pid"
# SCRIPTNAME="/etc/init.d/${NAME}"
case "$1" in
start)
printf "%-50s" "Starting $NAME..."
cd "$DAEMON_PATH" || exit
. "$DAEMON_ENV_FILE"
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
;;
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 {status|start|stop|restart}"
exit 1
;;
esac