#!/bin/bash . /etc/rc.conf . /etc/rc.d/functions NAME="AppleTalk Printer Daemon" ARGS= DEPENDS=atalkd REQUIRED= DAEMON=`basename "$0"` [ -r /etc/conf.d/$DAEMON ] && . /etc/conf.d/$DAEMON PID=`get_pid $DAEMON` get_pid_r() { local pid=() for i in $@ do j=`get_pid $i` || return 1;pid+=($j);done echo ${pid[@]}; } case "$1" in start) stat_busy "Starting $NAME" [ `get_pid_r $DEPENDS` ] && [ -z "$PID" ] && $DAEMON $ARGS &>/dev/null if [ $? = 0 ]; then stat_done else stat_fail if [ ! `get_pid_r $DEPENDS` ];then echo "Error: \"$DAEMON\" refusing to start, dependency \"$DEPENDS\" not met" >&2;fi exit 1 fi ;; stop) stat_busy "Stopping $NAME" [ ! `get_pid_r $REQUIRED` ] && [ -n "$PID" ] && kill $PID &>/dev/null if [ $? = 0 ]; then stat_done else stat_fail if [ `get_pid_r $REQUIRED` ];then echo "Error: Dependency \"$REQUIRED\" requires \"$DAEMON\", stop it first" >&2;fi exit 1 fi ;; restart) $0 stop sleep 1 $0 start ;; *) echo "usage: $0 {start|stop|restart}" esac