tools/rc.thermferm

Sun, 05 May 2024 17:24:54 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Sun, 05 May 2024 17:24:54 +0200
changeset 730
6eba006ed8f5
parent 675
825210ba2707
permissions
-rw-r--r--

Much faster shutdown of the websocket service.

#!/bin/bash
#
# thermferm init script for Slackware.
#
# Copyright 2022-2024 Michiel Broek, the Netherlands.

# Source default settings:
if [ -r /etc/default/thermferm ]; then
  . /etc/default/thermferm
fi

PIDFILE=/run/thermferm.pid
STOPTIME=45

case "$1" in
  start)
    echo -n "Starting Fermentation Controller: "
    if [ -f ${PIDFILE} ]; then
  	echo "already running."
    else
	${THERMFERM_BIN}
        echo "done."
    fi
    ;;

  stop)
    echo -n "Stopping Fermentation Controller: "
    if [ -f ${PIDFILE} ]; then
      kill $(cat ${PIDFILE})
      tim=0
      while [ true ]; do
	[ ! -f "${PIDFILE}" ] && break;
	[ $tim -gt $STOPTIME ] && break;
	echo -n "."
	sleep 1
	tim=$(($tim+1))
      done
      echo "done."
    else
      echo "wasn't running."
    fi
    ;;

  restart)
    $0 stop
    sleep 2
    $0 start
    ;;

  *)
    echo "usage: $0 {start|stop|restart}"
esac

mercurial