#! /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 # Daniel de Araujo # 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