#! /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
|