centreon-plugins/connectors/vmware/packaging/redhat/centreon_vmware-init

133 lines
2.8 KiB
Bash

#! /bin/bash
#
# centreon_vmware Start/Stop the centreon_vmware daemon.
#
# chkconfig: 2345 80 20
# description: centreon_vmware is a Centreon program that manage Vpshere Checks
# processname: centreon_vmware.pl
# config: /etc/centreon/centreon_vmware.pm
# pidfile: /var/run/centreon_vmware.pid
# Source function library.
. /etc/init.d/functions
binary=/usr/bin/centreon_vmware.pl
servicename=$(basename "$0")
OPTIONS=""
user=root
timeout=60
start_timeout=5
pidfile=/var/run/centreon_vmware.pid
[ -e /etc/sysconfig/centreon_vmware ] && . /etc/sysconfig/centreon_vmware
# Check if we can find the binary.
if [ ! -x $binary ]; then
echo -n $"Starting $servicename.";
failure $"Executable file $binary not found. Exiting."
echo
exit 2
fi
start() {
echo -n $"Starting $servicename: "
if [ -e "$pidfile" ] && [ -n "$(cat $pidfile)" ] && [ -e "/proc/`cat $pidfile`" ]; then
echo -n $"cannot start $servicename: $servicename is already running.";
failure $"cannot start $servicename: $servicename already running.";
echo
return 1
fi
if [ ! -e "$pidfile" ] ; then
pid=$(pidofproc $binary)
if [ -n "$pid" ] ; then
echo -n $"cannot start $servicename: $servicename is already running.";
failure $"cannot start $servicename: $servicename already running.";
echo
return 1
fi
fi
if [ "$(id -u -n)" = "$user" ] ; then
daemon --check centreon_vmware ''$binary' '$OPTIONS' > /dev/null 2>&1 &'
else
daemon --user $user --check centreon_vmware ''$binary' '$OPTIONS' > /dev/null 2>&1 &'
fi
sleep 2
i=0
while : ; do
if [ "$i" -gt $start_timeout ] ; then
failure $"service not launched"
echo
return 1
fi
pid=$(pidofproc $binary)
if [ -n "$pid" ] ; then
echo $pid > $pidfile
break
fi
sleep 1
i=$(($i + 1))
done
success $"service launched"
echo
return 0
}
stop() {
echo -n $"Stopping $servicename: "
if [ ! -e "$pidfile" ] || [ -z "$(cat $pidfile)" ] ; then
killproc -d $timeout "$binary"
else
killproc -p "$pidfile" -d $timeout "$binary"
fi
RETVAL=$?
echo
return $RETVAL
}
rhstatus() {
status -p "$pidfile" "$binary"
}
restart() {
stop
start
}
reload() {
echo -n $"Reloading $servicename daemon configuration: "
killproc -p "$pidfile" "$binary" -HUP
RETVAL=$?
echo
return $RETVAL
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
reload)
reload
;;
status)
rhstatus
;;
condrestart)
[ -f /var/lock/subsys/centreon_vmware ] && restart || :
;;
*)
echo $"Usage: $0 {start|stop|status|reload|restart|condrestart}"
exit 1
esac