1#!/bin/sh 2 3set -x 4 5NAME="nslcd" 6CONFIG="/etc/nslcd.conf" 7DAEMON="/usr/sbin/nslcd" 8DESC="LDAP connection daemon" 9STATEDIR="/var/run/$NAME" 10PIDFILE="$STATEDIR/$NAME.pid" 11 12start() 13{ 14 if [ -e $PIDFILE ]; then 15 PIDDIR=/proc/$(cat $PIDFILE) 16 if [ -d ${PIDDIR} ]; then 17 echo "$DESC already running." 18 exit 1 19 else 20 echo "Removing stale PID file $PIDFILE" 21 rm -f $PIDFILE 22 fi 23 fi 24 25 echo -n "Starting $DESC..." 26 27 start-stop-daemon --start --oknodo \ 28 --pidfile $PIDFILE --startas $DAEMON 29 30 if [ $? -eq 0 ]; then 31 echo "done." 32 else 33 echo "failed." 34 fi 35} 36 37stop() 38{ 39 echo -n "Stopping $DESC..." 40 start-stop-daemon --stop --quiet --pidfile $PIDFILE \ 41 --name $NAME 42 if [ $? -eq 0 ]; then 43 echo "done." 44 else 45 echo "failed." 46 fi 47 rm -f $PIDFILE 48} 49 50status() 51{ 52 if [ -f $PIDFILE ]; then 53 if $DAEMON --check 54 then 55 echo "$DESC is running (pid `cat $PIDFILE`" 56 else 57 echo "$DESC stopped" 58 fi 59 else 60 echo "$DESC stopped" 61 fi 62} 63 64case "$1" in 65 start) 66 start 67 ;; 68 stop) 69 stop 70 ;; 71 restart|force-reload|reload) 72 stop 73 start 74 ;; 75 status) 76 status 77 ;; 78 *) 79 echo "Usage: $0 {start|stop|force-reload|restart|reload|status}" 80 exit 1 81 ;; 82esac 83 84exit 0 85