#!/bin/bash # # milter This shell script takes care of starting and stopping milter. # # chkconfig: 2345 80 30 # description: Milter is a process that filters messages sent through sendmail. # processname: milter # config: /etc/mail/pymilter.cfg # pidfile: /var/run/milter/milter.pid python="python2.4" pidof() { set - "" if set - `ps -e -o pid,wchan,cmd | grep "rt_sig ${python} bms.py"` && [ "$3" != "grep" ]; then echo $1 return 0 fi return 1 } # Source function library. . /etc/rc.d/init.d/functions [ -x /var/log/milter/start.sh ] || exit 0 RETVAL=0 prog="milter" start() { # Start daemons. echo -n "Starting $prog: " if ! test -d /var/run/milter; then mkdir -p /var/run/milter chown mail:mail /var/run/milter fi daemon --check milter --user mail /var/log/milter/start.sh milter bms RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/milter return $RETVAL } stop() { # Stop daemons. echo -n "Shutting down $prog: " killproc milter RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/milter return $RETVAL } # See how we were called. case "$1" in start) start ;; stop) stop ;; restart|reload) stop start RETVAL=$? ;; condrestart) if [ -f /var/lock/subsys/milter ]; then stop start RETVAL=$? fi ;; status) status milter RETVAL=$? ;; *) echo "Usage: $0 {start|stop|restart|condrestart|status}" exit 1 esac exit $RETVAL