#! /bin/sh # chkconfig: 345 96 02 # description: server loadstats # processname: m2_server_loadstats # Author: Ricardas Stoma # Company: Kolmisoft # Year: 2013 # About: m2_server_loadstats init script # delete temporary variables rm -rf /tmp/.mor_global_test-fix_framework_variables # Source function library . /etc/init.d/functions . /etc/sysconfig/network # MOR library . /usr/src/m2/framework/bash_functions.sh PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin NAME=m2_server_loadstats DAEMON=/usr/local/m2/$NAME FS_USER=root FS_GROUP=root check_daemon() { # check if daemon is running NUM=`ps -ef | grep -v grep | grep $DAEMON | wc -l` if [ $NUM -ne 0 ]; then return 1; fi return 0 } do_start() { # check if daemon exists if [ ! -e $DAEMON ]; then report "$DAEMON does not exist" 1 FAILED; return 1; fi # check if daemon is not running check_daemon if [ $? -ne 0 ]; then report "$NAME daemon is already running" 1 FAILED; return 1; fi # start daemon $DAEMON # check if daemon started successfully if [ $? -ne 0 ]; then report "$NAME daemon can not be started" 1 FAILED; return 1; else report "$NAME daemon started" 0 OK; fi return 0; } do_stop() { # check if daemon is running check_daemon if [ $? -eq 0 ]; then report "$NAME daemon is not running" 1 FAILED; return 1; fi # kill daemon killall -9 $DAEMON &> /dev/null # check if daemon is still running check_daemon if [ $? -ne 0 ]; then report "$NAME daemon can not be stopped" 1 FAILED; return 1; fi report "$NAME daemon stopped" 0 OK; return 0; } do_status() { # check if daemon is running check_daemon if [ $? -ne 0 ]; then report "$NAME daemon is running" 0 OK; else report "$NAME daemon is stopped" 1 FAILED; fi return 0; } do_restart() { do_stop echo "Waiting for daemon to exit..." sleep 1 do_start return 0; } # See how we were called. case "$1" in start) do_start ;; stop) do_stop ;; status) do_status ;; restart) do_restart ;; *) echo $"Usage: $0 {start|stop|status|restart}" exit 2 ;; esac exit 0