#!/bin/sh NAME=thinkfan BIN=/usr/bin/$NAME CONFIG=/etc/thinkfan.conf ARGS="-q -c $CONFIG" PIDFILE=/var/run/$NAME.pid thinkfan_start() { echo -n "Starting $NAME ... " if [ -e "$PIDFILE" ]; then echo "already running!" else $BIN $ARGS if [ $? -ne 0 ] ; then echo "failed to start!" return 1 else echo "done!" fi fi } thinkfan_status() { if [ $(pgrep -f $BIN) ]; then echo "thinkfan is running" if [ ! -e $PIDFILE ]; then echo "Warning: Missing pid file $PIDFILE" fi exit 0 else echo "thinkfan is stopped" if [ -e $PIDFILE ]; then echo "Detected stale pid file $PIDFILE" fi exit 0 fi } thinkfan_stop() { echo -n "Stopping $NAME ... " if [ -e "$PIDFILE" ]; then kill -TERM $(cat $PIDFILE) > /dev/null 2>&1 echo "done!" rm -f "$PIDFILE" else echo "not running!" fi } thinkfan_restart() { thinkfan_stop sleep 1 thinkfan_start } case "$1" in 'start') thinkfan_start ;; 'status') thinkfan_status ;; 'stop') thinkfan_stop ;; 'restart') thinkfan_restart ;; *) echo "usage $0 start|stop|restart|status" esac