The example slapd configuration file locates the pid file for the daemon in a different place than that used in /etc/init.d/slapd. This causes the stop command to fail unless one of the files is modified. in slapd.conf: /var/lib/slapd.pid in init.d/slapd: /var/state/openldap/slapd.pid IMO, they should both be changed to locate in /var/run but just getting them to agree would be good enough. Reproducible: Always Steps to Reproduce: 1. copy the slapd.conf example to /etc/openldap/slapd.conf 2. modify the database config for your universe 3. /etc/init.d/slapd start 4. /etc/init.d/slapd stop Actual Results: slapd won't die Expected Results: slapd should exit I know that the config file is just an example but LDAP admins don't always know the details of service start/stop on a system.
openldap-2.0.27-r4 has this problem fixed amongst many others. It should be marked stable rather soon. 2.1.21 is also setup properly but wont be marked stable until db4 works with everything without a problem.