#!/bin/sh
. "$(dirname "$0")/common"

running() { [ -f "$PID" ] && kill -0 "$(cat "$PID")" 2>/dev/null; }

case "$1" in
start)
	running && exit 0
	[ -f "$LOG" ] && [ "$(wc -c <"$LOG")" -gt 1048576 ] && mv -f "$LOG" "$LOG.1"
	cd "$VAR" || exit 1
	nohup "$BIN" -config "$CONF" >>"$LOG" 2>&1 &
	echo $! >"$PID"
	sleep 1
	running || { tail -n 3 "$LOG"; exit 1; }
	;;
stop)
	if running; then
		kill "$(cat "$PID")"
		for _ in 1 2 3 4 5 6 7 8 9 10; do running || break; sleep 0.5; done
	fi
	rm -f "$PID"
	;;
status)
	running && exit 0
	exit 3
	;;
log)
	echo "$LOG"
	;;
esac
exit 0
