#!/bin/bash

# Copyright (c) 2022 xFusion Digital Technologies Co., Ltd. All rights reserved.
# Description: netcheck file
# Author: wangxinjian
# Create: 2022-1-20

. /etc/init.d/functions

SERVICE_NAME="netcheck"
LOCKFILE="/var/lock/subsys/netcheck"
RETVAL=0
PID=-1
start() {

	if [ -f $LOCKFILE ]; then
		PID=$(ps -e | grep netcheckd | grep -v grep | awk '{print $1}')
		if [ -z $PID ];then
			echo "Service netcheck Stop"
		else
			exit
		fi
	fi
	echo "Starting $SERVICE_NAME... "

	cd /usr/local/bin
	./netcheckd >/var/log/messages 2>&1 &
	PID=$!

	if [ -z ${PID} ]; then
	    echo "Failed to get the process id, exit!"
	    exit
	else
	    echo "Starting successfully, whose pid is ${PID}"
	fi

	touch $LOCKFILE
	echo ${PID} > ${LOCKFILE}
}

stop() {
	if [ -f ${LOCKFILE} ]; then
		PID=`cat ${LOCKFILE}`
		if [ -z $PID ]; then
			PID=$(ps -e | grep netcheckd | grep -v grep | awk '{print $1}')
			if -n $PID; then
				kill -10 $PID
			fi
		else
			kill -10 $PID
		fi
		rm -f $LOCKFILE
	else
		PID=$(ps -e | grep netcheckd | grep -v grep | awk '{print $1}')
		if -n $PID; then
			kill -10 $PID
		fi
	fi
}

status() {
	if [ -f ${LOCKFILE} ]; then
		echo "Running"
	else
		PID=$(ps -e | grep netcheckd | grep -v grep | awk '{print $1}')
		if [ -z $PID ];then
			echo "Service netcheck Stop"
		else
			echo "Running"
		fi
	fi

}	

case "$1" in
	start)
		start
		;;
	stop)
		stop
		;;
	status)
		status
		;;
	*)
		echo "unknown command" 
		;;
esac
exit $RETVAL
