68 lines
1.4 KiB
Bash
68 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
|