#! /bin/sh ### BEGIN INIT INFO # Provides: diya # Short-Description: simple session manager # Description: session manager that allows user login and # start user session ### END INIT INFO # # -*- coding: utf-8 -*- # set -e # shellcheck disable=SC1091 . /etc/init.d/functions DAEMON=/usr/bin/diya-session-manager NAME=diya-sessiond PIDFILE=/var/run/diya/sessiond.pid DESC="Diya session manager" DAEMONUSER="root" PARAMS="-c /etc/diya/daemon.conf" test -x $DAEMON || exit 0 start_it_up() { mkdir -p "$(dirname $PIDFILE)" 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 -o --start --quiet --pidfile $PIDFILE \ --user $DAEMONUSER --exec $DAEMON -- $PARAMS echo "$NAME." } shut_it_down() { echo -n "Stopping $DESC: " start-stop-daemon -o --stop --quiet --pidfile $PIDFILE \ --user $DAEMONUSER # 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 ;; status) status $DAEMON exit $? ;; restart) shut_it_down sleep 1 start_it_up ;; *) echo "Usage: /etc/init.d/$NAME {start|stop|status|restart}" >&2 exit 1 ;; esac exit 0