#! /bin/sh ### BEGIN INIT INFO # Provides: logind # Required-Start: $dbus $remote_fs $syslog # Required-Stop: $dbus $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: # Short-Description: elogind session management daemon ### END INIT INFO set -e # /etc/init.d/elogind: start and stop the elogind session management daemon ELOGIND=/lib/elogind/elogind test -x $ELOGIND || exit 0 umask 022 . /lib/lsb/init-functions ELOGIND_OPTS="-D" # Are we running from init? run_by_init() { ([ "$previous" ] && [ "$runlevel" ]) || [ "$runlevel" = S ] } check_for_upstart() { if init_is_upstart; then exit $1 fi } export PATH="${PATH:+$PATH:}/usr/sbin:/sbin" case "$1" in start) check_for_upstart 1 log_daemon_msg "Starting session management daemon" "elogind" || true if start-stop-daemon --start --quiet --oknodo --pidfile /run/elogin.pid --exec $ELOGIND -- $ELOGIND_OPTS; then log_end_msg 0 || true else log_end_msg 1 || true fi ;; stop) check_for_upstart 0 log_daemon_msg "Stopping session management daemon" "elogind" || true if start-stop-daemon --stop --quiet --oknodo --pidfile /run/elogind.pid; then log_end_msg 0 || true else log_end_msg 1 || true fi ;; reload|force-reload|restart) check_for_upstart 1 log_daemon_msg "Restarting session management daemon" "elogind" || true start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile /run/elogind.pid if start-stop-daemon --start --quiet --oknodo --pidfile /run/elogind.pid --exec $ELOGIND -- $ELOGIND_OPTS; then log_end_msg 0 || true else log_end_msg 1 || true fi ;; try-restart) check_for_upstart 1 log_daemon_msg "Restarting session management daemon" "elogind" || true RET=0 start-stop-daemon --stop --quiet --retry 30 --pidfile /run/elogind.pid || RET="$?" case $RET in 0) # old daemon stopped if start-stop-daemon --start --quiet --oknodo --pidfile /run/elogind.pid --exec $ELOGIND -- $ELOGIND_OPTS; then log_end_msg 0 || true else log_end_msg 1 || true fi ;; 1) # daemon not running log_progress_msg "(not running)" || true log_end_msg 0 || true ;; *) # failed to stop log_progress_msg "(failed to stop)" || true log_end_msg 1 || true ;; esac ;; status) check_for_upstart 1 status_of_proc -p /run/elogind.pid $ELOGIND elogind && exit 0 || exit $? ;; *) log_action_msg "Usage: /etc/init.d/elogind {start|stop|reload|force-reload|restart|try-restart|status}" || true exit 1 esac exit 0