#! /bin/sh # ### BEGIN INIT INFO # Provides: saned # Required-Start: $syslog $local_fs $remote_fs # Required-Stop: $syslog $local_fs $remote_fs # Should-Start: dbus avahi-daemon # Should-Stop: dbus avahi-daemon # Default-Start: 2 3 4 5 # Default-Stop: 1 # Short-Description: SANE network scanner server # Description: saned makes local scanners available over the # network. ### END INIT INFO . /lib/lsb/init-functions PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/sbin/saned NAME=saned DESC="SANE network scanner server" test -x $DAEMON || exit 0 RUN=no RUN_AS_USER=saned # Get lsb functions . /lib/lsb/init-functions # Include saned defaults if available if [ -f /etc/default/saned ] ; then . /etc/default/saned fi if [ "x$RUN" != "xyes" ] ; then log_success_msg "$NAME disabled; edit /etc/default/saned" exit 0 fi DAEMON_OPTS="-a $RUN_AS_USER" set -e case "$1" in start) log_daemon_msg "Starting $DESC" "$NAME" start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \ --exec $DAEMON -- $DAEMON_OPTS log_end_msg $? ;; stop) log_daemon_msg "Stopping $DESC" "$NAME" start-stop-daemon --stop --oknodo --quiet --pidfile /var/run/$NAME.pid \ --exec $DAEMON log_end_msg $? ;; force-reload) # check whether $DAEMON is running. If so, restart start-stop-daemon --stop --test --quiet --pidfile \ /var/run/$NAME.pid --exec $DAEMON \ && $0 restart \ || exit 0 ;; restart) log_daemon_msg "Restarting $DESC" "$NAME" start-stop-daemon --stop --oknodo --quiet --pidfile \ /var/run/$NAME.pid --exec $DAEMON sleep 1 start-stop-daemon --start --quiet --pidfile \ /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS log_end_msg $? ;; status) if [ -s /var/run/$NAME.pid ]; then RUNNING=$(cat /var/run/$NAME.pid) if [ -d /proc/$RUNNING ]; then if [ $(readlink /proc/$RUNNING/exe) = $DAEMON ]; then log_success_msg "$NAME is running" exit 0 fi fi # No such PID, or executables don't match log_failure_msg "$NAME is not running, but pidfile existed" rm /var/run/$NAME.pid exit 1 else rm -f /var/run/$NAME.pid log_failure_msg "$NAME not running" exit 1 fi ;; *) N=/etc/init.d/$NAME log_failure_msg "Usage: $N {start|stop|restart|force-reload}" exit 1 ;; esac exit 0