mistserver/mistserver.init

72 lines
1.5 KiB
Bash

#! /bin/sh
### BEGIN INIT INFO
# Provides: mistserver
# Required-Start: $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: MistServer service
# Description: MistServer - next generation multimedia server
### END INIT INFO
NAME=MistController
DESC="MistServer"
CFG_FILE=/etc/mistserver.conf
LOG_FILE=/var/log/mistserver.log
PID_FILE=/var/run/mistserver.pid
# Source function library.
. /etc/rc.d/init.d/functions
#
# Function that starts the daemon/service
#
do_start()
{
echo -n "Starting $DESC" "$NAME"
MistController -d -L $LOG_FILE -c $CFG_FILE
RETVAL=$?
[ $RETVAL = 0 ] && touch /var/lock/subsys/$NAME && echo $!>$PID_FILE && echo_success || echo_failure
echo
return $RETVAL
}
#
# Function that stops the daemon/service
#
do_stop()
{
echo -n "Stopping $DESC" "$NAME"
killall MistController >/dev/null 2>&1
RETVAL=$?
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/$NAME $PID_FILE && echo_success || echo_failure
echo
return $RETVAL
}
do_restart()
{
echo -n "Restarting $DESC" "$NAME"
[[ -f /var/lock/subsys/$NAME ]] && killall MistController >/dev/null 2>&1 && rm -f /var/lock/subsys/$NAME $PID_FILE && sleep 2
MistController -d -L $LOG_FILE -c $CFG_FILE
RETVAL=$?
[ $RETVAL = 0 ] && touch /var/lock/subsys/$NAME && echo $!>$PID_FILE && echo_success || echo_failure
echo
return $RETVAL
}
case "$1" in
start)
do_start
;;
stop)
do_stop
;;
restart)
do_restart
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart}" >&2
exit 3
;;
esac