Rev 17 | Blame | Compare with Previous | Last modification | View Log | RSS feed
#!/bin/sh
### BEGIN INIT INFO
# Provides: pyscrabble-server
# Required-Start: $local_fs $remote_fs
# Required-Stop: $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: PyScrabble server
# Description: Controls the PyScrabble server
### END INIT INFO
set -e
PATH=/sbin:/bin:/usr/bin
DESC="PyScrabble server"
NAME=python
NAME2=pyscrabble-server
DAEMON=/usr/games/pyscrabble-server
PIDFILE=/var/run/$NAME2.pid
SCRIPTNAME=/etc/init.d/$NAME2
# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0
. /lib/lsb/init-functions
USER="pyscrabble"
# Read config file if it is present.
if [ -r /etc/default/$NAME2 ]; then
. /etc/default/$NAME2
fi
d_running() {
start-stop-daemon --stop --quiet --pidfile $PIDFILE \
--name $NAME --test > /dev/null
}
#
# Function that starts the daemon/service.
#
d_start() {
start-stop-daemon --start --oknodo --quiet --pidfile $PIDFILE --name $NAME \
--background --make-pidfile --chuid "$USER" --startas $DAEMON
}
#
# Function that stops the daemon/service.
#
d_stop() {
start-stop-daemon --stop --oknodo --quiet --pidfile $PIDFILE --name $NAME
rm -f $PIDFILE
}
case "$1" in
start)
log_daemon_msg "Starting $DESC" "$NAME2"
if d_running; then
log_progress_msg "already running"
else
d_start;
fi
log_end_msg 0
;;
stop)
log_daemon_msg "Stopping $DESC" "$NAME2"
if ! d_running; then
log_progress_msg "not running"
else
d_stop
fi
log_end_msg 0
;;
#reload)
#
# If the daemon can reload its configuration without
# restarting (for example, when it is sent a SIGHUP),
# then implement that here.
#
# If the daemon responds to changes in its config file
# directly anyway, make this an "exit 0".
#
# echo -n "Reloading $DESC configuration..."
# d_reload
# echo "done."
#;;
restart|force-reload)
#
# If the "reload" option is implemented, move the "force-reload"
# option to the "reload" entry above. If not, "force-reload" is
# just the same as "restart".
#
log_daemon_msg "Restarting $DESC" "$NAME2"
d_stop
# One second might not be time enough for a daemon to stop,
# if this happens, d_start will fail (and dpkg will break if
# the package is being upgraded). Change the timeout if needed
# be, or change d_stop to have start-stop-daemon use --retry.
# Notice that using --retry slows down the shutdown process somewhat.
sleep 1
d_start
log_end_msg 0
;;
status)
d_running || status="not "
log_action_msg "Status of $DESC:" "${status}running"
;;
*)
# echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
exit 0