#!/bin/sh # # dictd: Starts the Dictionary Daemon # # chkconfig: 345 90 10 # description: This is a daemon for the Dictionary Server Protocol (DICT), \ # a TCP transaction based query/response protocol that allows \ # a client to access dictionary definitions from a set of \ # natural language dictionary databases. # processname: dictd # config: /etc/dictd.conf # config: /etc/dictd/* DAEMON_FILE=dictd DAEMON_NAME="Dictionary Daemon" DAEMON_CONF=/etc/dictd.conf generate_dictdconf() { umask 022 if ls /etc/dictd/*.dictconf >/dev/null 2>&1; then echo "# DO NOT EDIT! This file is autogenerated by $0." >$DAEMON_CONF echo "# To configure dictd edit /etc/dictd/* files and restart daemon"\ >>$DAEMON_CONF cat /etc/dictd/dictd-main.conf /etc/dictd/*.dictconf >>$DAEMON_CONF return 0 fi echo "$0: $(nls 'no dictionaries found')" return 1 } # Source function library. . /etc/rc.d/init.d/functions # Get network config . /etc/sysconfig/network if is_yes "${NETWORKING}"; then if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then msg_network_down ${DAEMON_FILE} exit 1 fi else exit 0 fi # Get sysconfig [ -f /etc/sysconfig/${DAEMON_FILE} ] && . /etc/sysconfig/${DAEMON_FILE} RETVAL=0 # See how we were called. case "$1" in start) [ -x /usr/sbin/${DAEMON_FILE} ] || exit 0 if [ ! -f /var/lock/subsys/${DAEMON_FILE} ]; then if generate_dictdconf; then msg_starting ${DAEMON_NAME} daemon ${DAEMON_FILE} ${DICTD_OPTS} pidofproc ${DAEMON_FILE} >/dev/null 2>&1 RETVAL=$? [ $RETVAL -eq 0 ] && \ touch /var/lock/subsys/${DAEMON_FILE} else exit 1 fi else msg_already_running ${DAEMON_NAME} fi ;; stop) if [ -f /var/lock/subsys/${DAEMON_FILE} ]; then msg_stopping ${DAEMON_NAME} killproc /usr/sbin/${DAEMON_FILE} rm -f /var/lock/subsys/${DAEMON_FILE} >/dev/null 2>&1 else msg_not_running ${DAEMON_NAME} fi ;; status) status ${DAEMON_FILE} exit $? ;; restart|force-reload) $0 stop $0 start exit $? ;; *) msg_usage "$0 {start|stop|restart|force-reload|status}" exit 3 esac exit $RETVAL