#! /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 # Should-Stop: dbus avahi # 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 global PATH := '/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin' global DAEMON := '/usr/sbin/saned' global NAME := 'saned' global DESC := '"SANE network scanner server'" test -x $DAEMON || exit 0 global RUN := 'no' global RUN_AS_USER := 'saned' # Include saned defaults if available if test -f /etc/default/saned { source /etc/default/saned } if test "x$RUN" != "xyes" { echo "$NAME disabled; edit /etc/default/saned" exit 0 } global DAEMON_OPTS := ""-a $RUN_AS_USER"" set -e matchstr $1 { start { echo -n "Starting $DESC: " start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \ --exec $DAEMON -- $DAEMON_OPTS echo "$NAME." } stop { echo -n "Stopping $DESC: " start-stop-daemon --stop --oknodo --quiet --pidfile /var/run/$NAME.pid \ --exec $DAEMON echo "$NAME." } 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 { echo -n "Restarting $DESC: " 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 echo "$NAME." } status { if test -s /var/run/$NAME.pid { global RUNNING := $[cat /var/run/$NAME.pid] if test -d /proc/$RUNNING { if test $[readlink /proc/$RUNNING/exe] = $DAEMON { echo "$NAME is running." exit 0 } } # No such PID, or executables don't match echo "$NAME is not running, but pidfile existed." rm /var/run/$NAME.pid exit 1 } else { rm -f /var/run/$NAME.pid echo "$NAME not running." exit 1 } } * { global N := "/etc/init.d/$NAME" echo "Usage: $N {start|stop|restart|force-reload}" > !2 exit 1 } } exit 0