#!/bin/sh
#
# /etc/rc.d/rc.stb
#
# Start/stop/restart the system-tools-backends
#
PIDFILE=/var/run/system-tools-backends.pid;
STB=/usr/bin/system-tools-backends
stb_start() {
# Just in case the pidfile is still there, we need to nuke it.
if [ -e "$PIDFILE" ]; then
rm -f $PIDFILE
fi
echo "Starting SystemToolsBackends: $STB"
$STB &>/dev/null;
}
stb_status() {
local pidlist=`cat $PIDFILE 2>/dev/null`
if [ -z "$pidlist" ]; then
return 1
fi
local command=`ps -p $pidlist -o comm=`
if [ "$command" != 'system-tools-ba' ]; then
return 1
fi
}
stb_stop() {
echo -en "Stopping SystemToolsBackends: ";
local pidlist=`cat $PIDFILE 2>/dev/null`
if [ ! -z "$pidlist" ]; then
kill $pidlist &>/dev/null
rm -f $PIDFILE &>/dev/null
fi
echo "stopped";
}
stb_restart() {
stb_stop
sleep 1
stb_start
}
case "$1" in
'start')
if ( ! stb_status ); then
stb_start
else
echo "SystemToolsBackends is already running (will not start it twice)."
fi
;;
'stop')
stb_stop;
;;
'restart')
stb_restart;
;;
'status')
if ( stb_status ); then
echo "SystemToolsBackends is currently running"
else
echo "SystemToolsBackends is not running."
fi
;;
*)
echo "usage $0 start|stop|status|restart";
esac