#! /bin/sh
# reboot-aging
# reboot aging init script

# chkconfig: 5 99 00
# description: Reboot aging test
#
### BEGIN INIT INFO
# Provides:       reboot-aging
# Required-Start: $network
# Required-Stop:
# Default-Start:  3 4 5
# Default-Stop:   0 1 6
# Short-Description: Reboot aging test
### END INIT INFO

. /lib/lsb/init-functions

# Include reboot-aging defaults if available
if [ -r /etc/default/reboot-aging ];
then
	source /etc/default/reboot-aging
fi

reboot_aging=/root/reboot-aging/reboot-aging.sh

if [ ! -x ${reboot_aging} ]
then
	log_begin_msg "Not found ${reboot_aging}."
	log_end_msg 1
	exit 1
fi

running() {
	ps -elf | grep -v 'grep' | grep -qw "$1"
}

start() {
	log_begin_msg "Starting reboot aging."
	if ! running ${reboot_aging}
	then
	(
		"${reboot_aging}"
	) &
	fi
	log_end_msg 0
	return 0
}

stop() {
	log_begin_msg "Stopping ${reboot_aging}."
	retry=0
	while [ ${retry} -lt 100 ]
	do
		if running ${reboot_aging}
		then
			if ! pkill ${reboot_aging##*/}
			then
				log_failure_msg "Cannot kill ${reboot_aging}"
				log_end_msg 1
			fi
		else
			return 0
		fi
		sleep 1
		retry=`expr ${retry} + 1`
	done
	log_end_msg 0
	return 0
}

case "$1" in
start)
	start
	;;
stop)
	stop
	;;
restart|force-reload)
	stop && start
	;;
status)
	pgrep -a "${reboot_aging##*/}"
	;;
*)
	echo "Usage: $0 {start|stop|restart|force-reload|status}"
	exit 1
esac
