blob: a7da9dbc8d1248c5d2672f502ec3e949e829b0e3 [file] [log] [blame]
#!/bin/bash
#
# rteval-parserd rteval report parser daemon
#
# Author: David Sommerseth <davids@redhat.com>
#
# Copyright 2009 Red Hat, Inc. and/or its affiliates.
# Released under the GPL
#
# chkconfig: - 20 80
# description: The rteval-parserd waits for rteval summary reports and parses them on arrival
# config: /etc/sysconfig/rteval-parserd
#
### BEGIN INIT INFO
# Provides: rteval-parserd
# Required-Start: postgresql
# Required-Stop: -
# Default-Stop: 0 1 6
# Short-Description: start and stop rteval-parserd
# Description: The rteval-parserd waits for rteval summary reports and parses them on arrival
### END INIT INFO
. /etc/rc.d/init.d/functions
if [ -f /etc/sysconfig/rteval-parserd ]; then
. /etc/sysconfig/rteval-parserd
fi
prog=rteval-parserd
RETVAL=0
if [ -z $PIDFILE ]; then
PIDFILE=/var/run/$prog.pid
fi
start() {
# Check if we have a pid file, if we do check that it is correct
if [ -f $PIDFILE ]; then
filepid=$(cat $PIDFILE)
chkpid=$(pidof $prog)
if [ $? = 0 ]; then
if [ "$chkpid" != "$filepid" ] ; then
# We have a pid file which is not correct, fix it
echo $chkpid > $PIDFILE
filepid=$chkpid
fi
echo "$prog is already started (pid $filepid)"
return 0
else
# No process really exists, clean up!
rm -f $PIDFILE
fi
fi
# Start a new daemon
args="--daemon"
if [ -z "$NUM_THREADS" ]; then
# If NUM_THREADS is not set, use number of cores found.
NUM_THREADS=$(find /sys/devices/system/cpu/cpu? -maxdepth 0 -type d | wc -l)
fi
args="$args --threads $NUM_THREADS"
if [ ! -z "$LOG" ]; then
args="$args --log $LOG"
fi
if [ ! -z "$LOGLEVEL" ]; then
args="$args --log-level $LOGLEVEL"
fi
if [ ! -z "$CONFIGFILE" ]; then
args="$args --config $CONFIGFILE"
fi
echo -n $"Starting $prog ($NUM_THREADS threads): "
$prog $args
pidof $prog > $PIDFILE
RETVAL=$?
[ $RETVAL = 0 ] && success $"$prog startup" || failure $"$prog startup"
[ $RETVAL = 0 ] && touch /var/lock/subsys/$prog
echo
return $RETVAL
}
stop() {
echo -n $"Stopping $prog: "
if [ ! -f $PIDFILE ]; then
chkpid=$(pidof $prog)
if [ $? = 0 ]; then
PID=$chkpid
fi
else
PID=$(cat $PIDFILE)
fi
kill -TERM $PID
RETVAL=$?
[ $RETVAL = 0 ] && success $"$prog shutdown" || failure $"$prog (pid $PID) shutdown"
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/$prog $PIDFILE
echo
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status $prog
;;
restart)
stop
start
;;
reload)
stop
start
;;
condrestart)
;;
*)
echo $"Usage: $prog {start|stop|restart|reload|status|help}"
RETVAL=3
esac
exit $RETVAL