slackware-current/source/n/netatalk/rc.atalk.new

146 lines
2.9 KiB
Text
Raw Normal View History

#! /bin/sh
#
# Start/stop the Netatalk daemons.
#
# Netatalk daemons.
# If you use AppleTalk, Make sure not to start atalkd in the background:
# its data structures must have time to stablize before running the
# other processes.
#
#
# kill the named process(es)
#
killproc() {
pid=`/usr/bin/ps -e |
/usr/bin/grep $1 |
/usr/bin/sed -e 's/^ *//' -e 's/ .*//'`
[ "$pid" != "" ] && kill $pid
}
# netatalk.conf expects hostname in $HOSTNAME by default
HOSTNAME=`hostname`
. /etc/netatalk/netatalk.conf
#
# Start the netatalk server processes.
#
atalk_startup() {
echo -n 'starting netatalk daemons: '
if [ x"${ATALKD_RUN}" != x"no" ]; then
if [ -x /usr/sbin/atalkd ]; then
/usr/sbin/atalkd; echo -n ' atalkd'
fi
if [ -x /usr/bin/nbprgstr ]; then
/usr/bin/nbprgstr -p 4 "${ATALK_NAME}:Workstation${ATALK_ZONE}";
/usr/bin/nbprgstr -p 4 "${ATALK_NAME}:netatalk${ATALK_ZONE}";
echo -n ' nbprgstr'
fi
if [ x"${PAPD_RUN}" = x"yes" -a -x /usr/sbin/papd ]; then
/usr/sbin/papd; echo -n ' papd'
fi
if [ x"${TIMELORD_RUN}" = x"yes" -a -x /usr/sbin/timelord ]; then
/usr/sbin/timelord; echo -n ' timelord'
fi
fi
if [ x"${CNID_METAD_RUN}" = x"yes" -a -x /usr/sbin/cnid_metad ]; then
/usr/sbin/cnid_metad $CNID_CONFIG
echo -n ' cnid_metad'
fi
if [ x"${AFPD_RUN}" = x"yes" -a -x /usr/sbin/afpd ]; then
/usr/sbin/afpd ${AFPD_UAMLIST} -g ${AFPD_GUEST} \
-c ${AFPD_MAX_CLIENTS} -n "${ATALK_NAME}${ATALK_ZONE}"; echo -n ' afpd'
fi
echo '.'
}
atalk_shutdown() {
echo -n 'stopping netatalk daemons:'
if [ -x /usr/sbin/papd ]; then
killproc papd; echo -n ' papd'
fi
if [ -x /usr/sbin/afpd ]; then
killproc afpd; echo -n ' afpd'
fi
if [ -x /usr/sbin/cnid_metad ]; then
killproc cnid_met; echo -n ' cnid_metad'
fi
if [ -x /usr/sbin/timelord ]; then
killproc timelord; echo -n ' timelord'
fi
# kill atalkd last, since without it the plumbing goes away.
if [ -x /usr/sbin/atalkd ]; then
killproc atalkd; echo -n ' atalkd'
fi
echo '.'
}
case "$1" in
'start')
if [ x"${ATALK_BGROUND}" = x"yes" ]; then
echo -n "Starting netatalk in the background ... "
atalk_startup > /dev/null &
else
atalk_startup
fi
;;
#
# Stop the netatalk server processes.
#
'stop')
echo -n 'stopping netatalk daemons:'
if [ -x /usr/sbin/papd ]; then
killproc papd; echo -n ' papd'
fi
if [ -x /usr/sbin/afpd ]; then
killproc afpd; echo -n ' afpd'
fi
if [ -x /usr/sbin/cnid_metad ]; then
killproc cnid_met; echo -n ' cnid_metad'
fi
if [ -x /usr/sbin/timelord ]; then
killproc timelord; echo -n ' timelord'
fi
# kill atalkd last, since without it the plumbing goes away.
if [ -x /usr/sbin/atalkd ]; then
killproc atalkd; echo -n ' atalkd'
fi
echo '.'
;;
'restart')
atalk_shutdown
atalk_startup
;;
#
# Usage statement.
#
*)
echo "usage: $0 {start|stop|restart}"
exit 1
;;
esac