http://issues.apache.org/SpamAssassin/show_bug.cgi?id=4655 init.d spamassassin restart kills wrong process and fails diff -urN Mail-SpamAssassin-3.0.4.orig/spamd/redhat-rc-script.sh Mail-SpamAssassin-3.0.4/spamd/redhat-rc-script.sh --- Mail-SpamAssassin-3.0.4.orig/spamd/redhat-rc-script.sh 2005-06-05 21:31:24.000000000 -0400 +++ Mail-SpamAssassin-3.0.4/spamd/redhat-rc-script.sh 2005-10-30 22:18:14.000000000 -0500 @@ -19,6 +19,7 @@ # Set default spamd configuration. SPAMDOPTIONS="-d -c -m5 -H" +SPAMD_PID=/var/run/spamassassin/spamd.pid # Source spamd configuration. if [ -f /etc/sysconfig/spamassassin ] ; then @@ -36,10 +37,13 @@ start) # Start daemon. echo -n "Starting spamd: " - daemon $NICELEVEL spamd $SPAMDOPTIONS + daemon $NICELEVEL spamd $SPAMDOPTIONS -r $SPAMD_PID RETVAL=$? echo - [ $RETVAL = 0 ] && touch /var/lock/subsys/spamassassin + if [ $RETVAL = 0 ]; then + [ -n "$SPAMD_PID" ] && ln -s $SPAMD_PID /var/run/spamd.pid + touch /var/lock/subsys/spamassassin + fi ;; stop) # Stop daemons. @@ -47,7 +51,10 @@ killproc spamd RETVAL=$? echo - [ $RETVAL = 0 ] && rm -f /var/lock/subsys/spamassassin + if [ $RETVAL = 0 ]; then + rm -f /var/lock/subsys/spamassassin + rm -f /var/run/spamd.pid + fi ;; restart) $0 stop