tools/rc.thermferm

Thu, 02 May 2024 15:49:16 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Thu, 02 May 2024 15:49:16 +0200
changeset 716
5c30c8ef83a8
parent 675
825210ba2707
permissions
-rw-r--r--

Version 0.9.19b3. The simulator thread can be paused to be able to add and delete simulators. Added simulated door and PSU status. Devices can now fully use multiple simulators. Better rounding of simulated temperature values. The server SIMULATOR DEL and ADD commands pause the simulator when the linked list is manipulated. Fixed SIGSEGV when a simulator is added. Added socket SO_REUSEADDR again to the server socket.

#!/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