#!/bin/bash # # mdmdp This starts, stops, and reloads the mdmpd-based # multipath device monitoring and management facility # # chkconfig: - 15 85 # description: multipath device monitoring and management # # Copyright 2002 Red Hat, Inc. PATH=/sbin:/usr/sbin:$PATH RETVAL=0 prog=mdmpd # Source function library. . /etc/rc.d/init.d/functions # Make sure configuration file exists and has information we can use # MAILADDR or PROGRAM or both must be set in order to run mdadm --monitor #[ -f /etc/mdadm.conf ] || exit 0 #grep '^\(MAILADDR\|PROGRAM\) .' /etc/mdadm.conf >/dev/null 2>&1 || exit 0 usage () { echo "Usage: service $prog {start|stop|status|restart|condrestart}" RETVAL=1 } start () { ulimit -S -c 0 >/dev/null 2>&1 # clean up in case we went down unexpectedly rm -f /var/run/$prog/* echo -n $"Starting $prog: " daemon mdmpd # hack: wait for mdadm to die, assume success if it doesn't die quickly usleep 100000 pid=`pidof -o $$ -o $PPID -o %PPID -x $prog` if [ -n "$pid" ] ; then success $"mdmpd" touch /var/lock/subsys/$prog echo "$pid" > /var/run/$prog.pid RETVAL=0 else failure $"mdmpd" RETVAL=1 fi echo } stop () { echo -n $"Stopping $prog: " killproc $prog echo rm -f /var/run/$prog.pid rm -f /var/lock/subsys/$prog } restart () { stop start } condrestart () { [ -e /var/lock/subsys/$prog ] && restart } case "$1" in start) start ;; stop) stop ;; status) status $prog ;; restart|reload) restart ;; condrestart) condrestart ;; *) usage ;; esac exit $RETVAL