#!/bin/sh DAEMON="polkitd" DAEMON_PATH="/usr/lib/polkit-1/${DAEMON}" PIDFILE="/var/run/${DAEMON}.pid" POLKITD_ARGS="--no-debug" # polkitd does not create a pidfile, so pass "-n" in the command line # and use "-m" to instruct start-stop-daemon to create one. start() { printf 'Starting %s: ' "${DAEMON}" # shellcheck disable=SC2086 # we need the word splitting start-stop-daemon -bmSqp "$PIDFILE" -x ${DAEMON_PATH} -- ${POLKITD_ARGS} status=$? if [ "$status" -eq 0 ]; then echo "OK" else echo "FAIL" fi return "$status" } stop() { printf 'Stopping %s: ' "${DAEMON}" start-stop-daemon -Kqp "$PIDFILE" status=$? if [ "$status" -eq 0 ]; then rm -f "$PIDFILE" echo "OK" else echo "FAIL" fi return "$status" } restart() { stop sleep 1 start } case "$1" in start|stop|restart|reload) "$1";; reload) # Restart, since there is no true "reload" feature. restart;; *) echo "Usage: $0 {start|stop|restart|reload}" exit 1 esac