X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=nscd.init;h=0b478d501088a34153eee64efa37ecf0c00e047c;hb=9574fadcab203081df373f3677ab7293cc5fe104;hp=3905f7fcf8922c3e9216e36284aff59383ab8d16;hpb=da30105859f097b43325a49c9331faeb568539b4;p=packages%2Fglibc.git diff --git a/nscd.init b/nscd.init index 3905f7f..0b478d5 100644 --- a/nscd.init +++ b/nscd.init @@ -1,56 +1,92 @@ -#!/bin/bash +#!/bin/sh # # nscd: Starts the Name Switch Cache Daemon # -# chkconfig: - 30 80 -# description: This is a daemon which handles passwd and group lookups \ +# chkconfig: 345 30 80 +# description: This is a daemon which handles passwd and group lookups \ # for running programs and cache the results for the next \ -# query. You should start this daemon only if you use \ +# query. You should start this daemon only if you use \ # slow Services like NIS or NIS+ -# processname: nscd -# config: /etc/nscd.conf +# processname: nscd +# config: /etc/nscd.conf # # Sanity checks. [ -f /etc/nscd.conf ] || exit 0 -[ -x /usr/sbin/nscd ] || exit 0 # Source function library. . /etc/rc.d/init.d/functions +# Get sysconfig +[ -f /etc/sysconfig/nscd ] && . /etc/sysconfig/nscd + +start() { + if [ ! -f /var/lock/subsys/nscd ]; then + msg_starting "Name Switch Cache Daemon" + daemon /usr/sbin/nscd + RETVAL=$? + [ $RETVAL -eq 0 ] && touch /var/lock/subsys/nscd + else + msg_already_running "Name Switch Cache Daemon" + fi +} + +stop() { + if [ -f /var/lock/subsys/nscd ]; then + msg_stopping "Name Switch Cache Daemon" + killproc --pidfile /var/run/nscd/nscd.pid nscd -TERM + rm -f /var/lock/subsys/nscd >/dev/null 2>&1 + else + msg_not_running "Name Switch Cache Daemon" + fi +} + +condrestart() { + if [ -f /var/lock/subsys/nscd ]; then + stop + start + else + msg_not_running "Name Switch Cache Daemon" + RETVAL=$1 + fi +} + +RETVAL=0 # See how we were called. case "$1" in - start) - secure="" -# for table in passwd group -# do -# if egrep '^'$table':.*nisplus' /etc/nsswitch.conf >/dev/null -# then -# /usr/lib/nscd_nischeck $table || -# secure="$secure -S $table,yes" -# fi -# done - show Starting Name Switch Cache Daemon - daemon nscd $secure - touch /var/lock/subsys/nscd + start) + start + ;; + stop) + stop ;; - stop) - show Stopping Name Switch Cache Daemon - busy - /usr/sbin/nscd -K - rm -f /var/lock/subsys/nscd - deltext - ok + restart) + stop + start + ;; + try-restart) + condrestart 0 + ;; + force-reload) + condrestart 7 + ;; + reload) + if [ -f /var/lock/subsys/nscd ]; then + for db in passwd group hosts; do + show "Invalidating %s cache" $db; busy + nscd -i $db && ok || fail + done + else + msg_not_running "Name Switch Cache Daemon" + fi ;; status) - status nscd - ;; - restart|reload) - $0 stop - $0 start - ;; - *) - echo "Usage: $0 {start|stop|status|restart|reload}" + status nscd + exit $? ;; + *) + msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|status}" + exit 3 esac -exit 0 + +exit $RETVAL