#!/bin/sh # # monitord This is the init script for starting monitord (ZVEI/POCSAG receiver) # # chkconfig: - 66 19 # description: monitord # processname: monitord # pidfile: /var/run/monitord.pid # # basically taken from /etc/init.d/postgresql for CentOS 6.2 # load functions . /etc/rc.d/init.d/functions NAME=`basename $0` if [ ${NAME:0:1} = "S" -o ${NAME:0:1} = "K" ] then NAME=${NAME:3} fi # SELinux if [ -x /sbin/runuser ] then SU=runuser else SU=su fi MONITORD=/opt/monitord/monitord MONITORD_USER=monitord MONITORD_CONFIG=/opt/monitord/monitord.xml MONITORD_OPTS="" MONITORD_STARTUP_LOG=/tmp/monitord-startup.log if [[ ! -x $MONITORD ]] then echo echo "$MONITORD is missing or not executable" echo exit 1 fi lockfile="/var/lock/subsys/${NAME}" pidfile="/var/run/monitord.pid" script_result=0 start() { if [ -z "$1" ] then echo "Waiting 15 seconds for coming up ActiveMQ..." sleep 15 fi MONITORD_START="Starting monitord..." STARTUP_LINE="$MONITORD -c $MONITORD_CONFIG$MONITORD_OPTS" $SU -c "$STARTUP_LINE &" - $MONITORD_USER >> "$MONITORD_STARTUP_LOG" 2>&1 #< /dev/null sleep 2 pid=`ps -ef | grep "$STARTUP_LINE" | grep -v "grep" | awk '{ print \$2 }'` if [ "x$pid" != x ] then success "$MONITORD_START" touch "$lockfile" echo $pid > "$pidfile" echo else failure "$MONITORD_START" echo script_result=1 fi } stop() { echo -n "Stopping monitord service: " if [ -e "$lockfile" ] then kill `cat $pidfile` ret=$? if [ $ret -eq 0 ] then echo_success rm -f "$pidfile" rm -f "$lockfile" else echo_failure script_result=1 fi else echo_success fi echo } restart() { stop start } status() { if [ -f $pidfile ] then pid=`cat $pidfile` if [ "x$pid" != "x" ] then pidtest=`ps aux | grep "monitord" | grep -v "grep" | grep -v "monitord status"` if [ "x$pidtest" = "x" ] then rm -f $pidfile echo "Removed stale pid file $pidfile" pid="" else echo "Monitord running" return 0 fi fi fi echo "Monitord not started" exit 1 } case "$1" in start) start ;; start-force) start now ;; stop) stop ;; restart) restart ;; status) status ;; *) echo $"Usage: $0 (start|stop|restart|status)" exit 2 esac exit $script_result