#!/bin/bash
### BEGIN INIT INFO
# Provides: SDCA
# Required-Start: $
# Required-Stop: $
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Local PKI Sevice
# Description: Start up the SDCA PKI for browserplugin sevice
### END INIT INFO

# processname:     /etc/rc.d/init.d/sdcatinyservice

user='root'

#if [ $user != "root" ] ; then
#    echo "Please run this script as root !"
#    exit
#fi

EXE_PATH=/usr/sbin
EXE_FILE=sdcacryptotinyserver
#PID_FILE=/usr/sbin/sdcacryptotinyserver.pid

if ! [ -x $EXE_PATH/$EXE_FILE ] ; then
    echo "ERROR: $EXE_PATH/$EXE_FILE not found"
    exit 1
fi

mkdir -p /var/log/sdca

# Source function library.
status_of_proc()
{
    SERVER_PID=$(ps -ef|grep $EXE_FILE|grep -v grep|awk '{print $2}')
    if [ -n "$SERVER_PID" ]; then 
        echo "$EXE_FILE PID: $SERVER_PID"
        echo "$EXE_FILE is running"
        exit 0
    else
        echo "$EXE_FILE is not running"
        exit 1		
    fi
}

stop()
{
    echo "Stoping $EXE_FILE ..."

    sleep 1
    killall $EXE_FILE

    echo "Stop $EXE_FILE [DONE]"
}
 
start()
{
    echo "Starting $EXE_FILE ..."
    
    cd $EXE_PATH
    nohup ./$EXE_FILE >/dev/null 2>&1 &
	sleep 1
    (echo >/dev/tcp/127.0.0.1/8222) &>/dev/null && echo Start $EXE_FILE [DONE] || echo Start $EXE_FILE [ERROR], Please try again in 30 seconds. 
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        stop
        sleep 3
        start
        ;;
    status)
        status_of_proc
        ;;   
    *)
        echo "Usage: service $EXE_FILE {start|stop|restart|status}"
        exit 1
esac
 
exit $?

