blob: 3a5f4a06aca60e30a227ef51bc1b7d78d8fb7ead [file] [log] [blame]
#! /bin/sh
#
### BEGIN INIT INFO
# Provides: openhpid
# Required-Start: $network $remote_fs $syslog
# Required-Stop: $network $remote_fs $syslog
# Should-Start: $named
# Should-Stop: $named
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start OpenHPI daemon at boot time
# Description: Enable OpenHPI service which is provided by openhpid.
### END INIT INFO
#
# openhpid.sh Start/Stop the openhpi daemon.
#
# description: openhpid is standard UNIX program which uses the OpenHPI \
# APIs and provides a standard internet server to access those \
# APIs for client programs.
# processname: openhpid
# config: the standard openhpi conf file specified on the command line or the env.
# pidfile: /var/run/openhpid.pid
#
# Author(s):
# W. David Ashley <dashley@us.ibm.com>
# Daniel de Araujo <ddearauj@us.ibm.com>
# Source function library.
PATH=/sbin:/bin:/usr/sbin:/usr/bin
prog="OpenHPI"
# If the openhpid executable is not available, we can't do any of this
test -f /usr/sbin/openhpid || exit 0
# Determine whether the lsb package is installed
# If it is, determine which lsb is installed:
# redhat, suse, or standard lsb
if test -f /etc/init.d/functions
then
lsbtype="rh"
. /etc/init.d/functions
elif test -f /etc/rc.status
then
lsbtype="suse"
. /etc/rc.status
elif test -f /lib/lsb/init-functions
then
lsbtype="lsb"
. /lib/lsb/init-functions
elif test -f /etc/gentoo-release
then
lsbtype="gentoo"
. /sbin/functions.sh
else
lsbtype="nolsb"
fi
print_outcome()
{
case "${lsbtype}" in
suse)
rc_status -v
;;
lsb)
if test "$?" -eq 0
then
log_success_msg "success"
else
log_failure_msg "failed"
fi
;;
gentoo)
eend $?
;;
nolsb | rh)
if test "$?" -eq 0
then
echo " ... success"
fi
if test "$?" -ne 0
then
echo " ... failed"
fi
;;
esac
}
start() {
case "${lsbtype}" in
suse)
echo -n "Starting $prog: "
startproc /usr/sbin/openhpid -c /etc/openhpi/openhpi.conf
RETVAL=$?
;;
lsb)
echo -n "Starting $prog: "
start_daemon /usr/sbin/openhpid -c /etc/openhpi/openhpi.conf
RETVAL=$?
;;
gentoo | rh)
echo "Starting $prog: "
start-stop-daemon --start --quiet --exec /usr/sbin/openhpid -- -c /etc/openhpi/openhpi.conf
RETVAL=$?
;;
nolsb)
echo -n "Starting $prog: "
/usr/sbin/openhpid -c /etc/openhpi/openhpi.conf
RETVAL=$?
;;
esac
print_outcome
}
stop() {
case "${lsbtype}" in
lsb | suse)
echo -n "Stopping $prog: "
killproc /usr/sbin/openhpid
RETVAL=$?
;;
gentoo)
echo "Stopping $prog: "
start-stop-daemon --stop --quiet --exec /usr/sbin/openhpid
RETVAL=$?
;;
nolsb | rh)
echo -n "Stopping $prog: "
if test -f /var/run/openhpid.pid && test "`cat /var/run/openhpid.pid`" != ""
then
kill "`cat /var/run/openhpid.pid`"
RETVAL=$?
else
RETVAL=0
fi
;;
esac
print_outcome
if test "$RETVAL" -eq 0 && test -f /var/run/openhpid.pid
then
rm -f /var/lock/openhpid
rm -f /var/run/openhpid.pid
fi
}
dstatus() {
echo "Checking for $prog daemon: "
case "${lsbtype}" in
suse)
checkproc /usr/sbin/openhpid
rc_status -v
;;
lsb)
pid="`pidofproc /usr/sbin/openhpid`"
if test "${pid}" != ""
then
log_success_msg "$prog is running"
else
log_success_msg "$prog is not running"
fi
;;
gentoo | nolsb | rh)
if test -f /var/run/openhpid.pid &&
test "`cat /var/run/openhpid.pid`" != "" &&
kill -s 0 "`cat /var/run/openhpid.pid`"
then
echo "$prog is running"
else
echo "$prog is not running"
fi
;;
esac
}
restart() {
stop
start
}
force_reload() {
# We don't currently support a reload, but can do a restart
stop
start
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
status)
dstatus
;;
force-reload)
force_reload
;;
*)
echo "Usage: $0 {start|stop|restart|status|force-reload}"
exit 1
esac