diff options
Diffstat (limited to 'packages/ezx/ezxd/ezxd.init')
-rw-r--r-- | packages/ezx/ezxd/ezxd.init | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/packages/ezx/ezxd/ezxd.init b/packages/ezx/ezxd/ezxd.init new file mode 100644 index 0000000000..3e33064166 --- /dev/null +++ b/packages/ezx/ezxd/ezxd.init @@ -0,0 +1,84 @@ +#! /bin/sh +# -*- coding: utf-8 -*- +# init.d script for ezxd + +set -e + +DAEMON=/usr/bin/ezxd +NAME=ezxd +PIDDIR=/var/run/ezxd +PIDFILE=$PIDDIR/pid +DESC="ezxd server" + +test -x $DAEMON || exit 0 + +# Source defaults file; edit that file to configure this script. +ENABLED=1 +PARAMS="" +if [ -e /etc/default/ezxd ]; then + . /etc/default/ezxd +fi + +test "$ENABLED" != "0" || exit 0 + +start_it_up() +{ + if [ ! -d $PIDDIR ]; then + mkdir -p $PIDDIR + fi + if [ -e $PIDFILE ]; then + PIDDIR=/proc/$(cat $PIDFILE) + if [ -d ${PIDDIR} -a "$(readlink -f ${PIDDIR}/exe)" = "${DAEMON}" ]; then + echo "$DESC already started; not starting." + else + echo "Removing stale PID file $PIDFILE." + rm -f $PIDFILE + fi + fi + + echo -n "Starting $DESC: " + start-stop-daemon --start --background --quiet --pidfile $PIDFILE \ + --exec $DAEMON -- --system $PARAMS + # We need to sleep here because opening the mux devices takes some time + sleep 15 + echo "$NAME." + if [ -d $EVENTDIR ]; then + run-parts --arg=start $EVENTDIR + fi +} + +shut_it_down() +{ + if [ -d "$EVENTDIR" ]; then + run-parts --arg=stop $EVENTDIR + fi + echo -n "Stopping $DESC: " + start-stop-daemon --stop --quiet --pidfile $PIDFILE + + # We no longer include these arguments so that start-stop-daemon + # can do its job even given that we may have been upgraded. + # We rely on the pidfile being sanely managed + # --exec $DAEMON -- --system $PARAMS + echo "$NAME." + rm -f $PIDFILE +} + +case "$1" in + start) + start_it_up + ;; + stop) + shut_it_down + ;; + restart|force-reload) + shut_it_down + sleep 1 + start_it_up + ;; + *) + echo "Usage: /etc/init.d/$NAME {start|stop|restart|force-reload}" >&2 + exit 1 + ;; +esac + +exit 0 |