#!/bin/sh
# chkconfig: 2345 91 64

### BEGIN INIT INFO
# Provides: rpm-deathwatch
# Required-Start: $local_fs $all
# Required-Stop:
# Default-Start: 2345
# Default-Stop:
# Short-Description: Systemtap module to monitor for termination signals
# Description:
# A systemtap module to monitor process termination signals and where they
# originate from.
###END INIT INFO

# Source function library.
. /etc/rc.d/init.d/functions

NAME="rpm-deathwatch"

LOCKFILE=/var/lock/subsys/rpm-deathwatch
PIDFILE=/var/run/rpm-deathwatch.pid
LOGFILE=/var/log/rpm-deathwatch

TERMINATION_SIGNAL_GRABBER=/usr/bin/rpm-deathwatch

start()  {
        touch "$LOCKFILE"
        nohup $TERMINATION_SIGNAL_GRABBER --name $LOGFILE >> $LOGFILE 2>&1 &
        echo $! > $PIDFILE
}

case "$1" in
        start)
                echo "Starting $NAME"
                start
                ;;

        stop)
                rm -f  "$LOCKFILE"
                echo "Stopping $NAME"
                kill $(cat $PIDFILE) 2>/dev/null
                rm -f $PIDFILE 2>/dev/null
                ;;

        status)
                PID=$(cat $PIDFILE)

                if [ -z "$PID" ]; then
                        echo "Service not found in $PIDFILE"
                else
                        if [ ! -z "$(ps -o comm= -p $PID)" ]; then
                                echo "Service running as $PID"
                        else
                                echo "Service was running as $PID, but is no longer running"
                        fi
                fi
                ;;

        *)
                echo $"Usage: $0 {start|stop|status}"
                exit 5
esac

exit $?

