2013-09-26 17:14:40 +02:00

83 lines
1.3 KiB
Plaintext

# $NetBSD: silcd.generic,v 1.3 2003/10/16 12:37:44 salo Exp $
#
KILL="/bin/kill"
CAT="/bin/cat"
RM="/bin/rm"
name="silcd"
confdir="@PKG_SYSCONFDIR@"
required_files="$confdir/silcd.conf"
required_dirs="/var/log/silcd"
pidfile="/var/run/${name}.pid"
command="@PREFIX@/sbin/silcd"
start_precmd="silcd_precmd"
silcd_precmd() {
if [ ! -f $confdir/silcd.prv ]; then
umask 7177 && $command -C $confdir
fi
}
silcd_start() {
if [ ! -r $required_files ]; then
echo "$0: WARNING: $required_files is not readable."
exit 1
fi
if [ ! -d $required_dirs ]; then
echo "$0: WARNING: $required_dirs is not a directory."
exit 1
fi
eval $start_precmd
return_code=$?
if [ $return_code != "0" ]; then
exit 1
fi
echo "Starting ${name}."
eval $command
return_code=$?
if [ $return_code != "0" ]; then
exit 1
fi
}
silcd_stop() {
if [ -r $pidfile -a ! -z $pidfile ]; then
_pid=`${CAT} ${pidfile}`
else
echo "${name} not running?"
fi
if [ ${_pid:=0} -gt 1 -a ! "X$_pid" = "X " ]; then
echo "Stopping ${name}."
${KILL} ${_pid}
return_code=$?
if [ $return_code != "0" ]; then
exit 1
fi
fi
${RM} -f $pidfile
}
case $1 in
'start')
silcd_start
;;
'stop')
silcd_stop
;;
'restart')
silcd_stop
silcd_start
;;
*)
echo "Usage: $0 (start|stop|restart)"
;;
esac