133 lines
2.8 KiB
Bash
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
|
|
|
|
|