#! /bin/sh # # Copyright (c) 2014 Wind River Systems, Inc. # # SPDX-License-Identifier: Apache-2.0 # # chkconfig: - 60 60 # processname: sm-api # description: Service Management API # ### BEGIN INIT INFO # Description: sm-api... # # Short-Description: Service Management API. # Provides: sm-api # Required-Start: $network # Should-Start: $syslog # Required-Stop: $network # Default-Start: 3 5 # Default-Stop: 0 6 ### END INIT INFO . /etc/init.d/functions # Linux Standard Base (LSB) Error Codes RETVAL=0 LSB_GENERIC_ERROR=1 LSB_INVALID_ARGS=2 LSB_UNSUPPORTED_FEATURE=3 LSB_NOT_INSTALLED=5 LSB_NOT_RUNNING=7 SM_API_NAME="sm-api" SM_API="/usr/bin/${SM_API_NAME}" daemon_pidfile="/var/run/${SM_API_NAME}.pid" if [ ! -e "${SM_API}" ] ; then logger "${SM_API} is missing" exit ${LSB_NOT_INSTALLED} fi PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin export PATH case "$1" in start) echo -n "Starting ${SM_API_NAME}: " if [ -n "`pidof ${SM_API_NAME}`" ] ; then echo -n "is already running " RETVAL=0 else /bin/sh -c "${SM_API} --debug --verbose --use-syslog --syslog-log-facility local1"' >> /dev/null 2>&1 & echo $!' > ${daemon_pidfile} RETVAL=$? fi if [ ${RETVAL} -eq 0 ] ; then pid=`pidof ${SM_API_NAME}` echo "OK" logger "${SM_API} (${pid})" else echo "FAIL" RETVAL=${LSB_GENERIC_ERROR} fi ;; stop) echo " " echo -n "Stopping ${SM_API_NAME}: " if [ -e ${daemon_pidfile} ] ; then pid=`cat ${daemon_pidfile}` kill -TERM $pid rm -f ${daemon_pidfile} rm -f /var/lock/subsys/${SM_API_NAME} echo "OK" else echo "FAIL" fi ;; restart) $0 stop sleep 1 $0 start ;; status) if [ -e ${daemon_pidfile} ] ; then pid=`cat ${daemon_pidfile}` ps -p $pid | grep -v "PID TTY" >> /dev/null 2>&1 if [ $? -eq 0 ] ; then echo "${SM_API_NAME} is running" RETVAL=0 else echo "${SM_API_NAME} is NOT running" RETVAL=1 fi else echo "${SM_API_NAME} is running; no pidfile" RETVAL=1 fi ;; condrestart) [ -f /var/lock/subsys/${SM_API_NAME} ] && $0 restart ;; *) echo "usage: $0 { start | stop | status | restart | condrestart | status }" ;; esac exit ${RETVAL}