#! /bin/sh # # Copyright (c) 2018 Wind River Systems, Inc. # # SPDX-License-Identifier: Apache-2.0 # # # chkconfig: 2345 95 95 # ### BEGIN INIT INFO # Provides: hbsAgent # Required-Start: # Required-Stop: # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # Short-Description: Heartbeat Agent Daemon ### END INIT INFO CENTOS_FUNCTIONS="/etc/init.d/functions" DEBIAN_FUNCTIONS="/lib/lsb/init-functions" if [ ! -f ${CENTOS_FUNCTIONS} ] ; then . ${DEBIAN_FUNCTIONS} else . ${CENTOS_FUNCTIONS} fi DAEMON_NAME="hbsAgent" DAEMON_CENTOS_PATH="/usr/local/bin/${DAEMON_NAME}" DAEMON_DEBIAN_PATH="/usr/bin/${DAEMON_NAME}" if [ ! -f ${DAEMON_CENTOS_PATH} ] ; then DAEMON=${DAEMON_DEBIAN_PATH} else DAEMON=${DAEMON_CENTOS_PATH} fi PIDFILE="/var/run/${DAEMON_NAME}.pid" VIRT_TOOL='virt-what' # controller-1:~$ sudo virt-what # virtualbox ... in virtualbox # kvm ... in qemu # Linux Standard Base (LSB) Error Codes RETVAL=0 GENERIC_ERROR=1 INVALID_ARGS=2 UNSUPPORTED_FEATURE=3 NOT_INSTALLED=5 NOT_RUNNING=7 PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin export PATH if [ ! -e "${DAEMON}" ] ; then logger "${DAEMON} is missing" exit ${NOT_INSTALLED} fi case "$1" in start) logger "Starting ${DAEMON_NAME}" echo -n "Starting ${DAEMON_NAME}: " if [ -n "`pidof ${DAEMON_NAME}`" ] ; then echo -n "is already running " RETVAL=0 else tool=$(which ${VIRT_TOOL}) if [ $? -eq 0 ] ; then virtual=`${VIRT_TOOL}` else virtual="" fi if [ "${virtual}" == "virtualbox" -o "${virtual}" == "kvm" ] ; then start-stop-daemon --start -b -x ${DAEMON} -- -l -a -V else start-stop-daemon --start -b -x ${DAEMON} -- -l -a fi RETVAL=$? fi if [ ${RETVAL} -eq 0 ] ; then pid=`pidof ${DAEMON_NAME}` echo "OK" logger "${DAEMON} (${pid})" else echo "FAIL" RETVAL=${GENERIC_ERROR} fi ;; stop) logger "Stopping ${DAEMON_NAME}" echo -n "Stopping ${DAEMON_NAME}: " if [ -n "`pidof ${DAEMON_NAME}`" ] ; then killproc ${DAEMON_NAME} fi if [ -n "`pidof ${DAEMON_NAME}`" ] ; then echo "FAIL" RETVAL=${NOT_RUNNING} else echo "OK" fi rm -f ${PIDFILE} ;; restart) $0 stop $0 start ;; status) pid=`pidof ${DAEMON_NAME}` RETVAL=$? if [ ${RETVAL} -eq 0 ] ; then echo "${DAEMON_NAME} is running" else echo "${DAEMON_NAME} is NOT running" RETVAL=${NOT_RUNNING} fi ;; condrestart) $0 restart ;; *) echo "usage: $0 { start | stop | status | restart | condrestart | status }" ;; esac exit ${RETVAL}