#! /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