115 lines
2.5 KiB
Bash
Executable File
115 lines
2.5 KiB
Bash
Executable File
#! /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}
|