#!/bin/sh

BIN="/usr/bin/agent"
PIDFILE="/tmp/7m-agent.pid"
LOG="/var/log/agent.log"

start() {
    if [ ! -x "$BIN" ]; then
        echo "S99agent: binary not found: $BIN"
        return 1
    fi
    if [ -f "$PIDFILE" ] && kill -0 "$(cat "$PIDFILE")" 2>/dev/null; then
        echo "S99agent: already running (pid $(cat "$PIDFILE"))"
        return 0
    fi
    "$BIN" &
    echo $! > "$PIDFILE"
    echo "S99agent: started (pid $(cat "$PIDFILE"))"
}

stop() {
    if [ ! -f "$PIDFILE" ]; then
        echo "S99agent: not running"
        return 0
    fi
    PID="$(cat "$PIDFILE")"
    if kill -0 "$PID" 2>/dev/null; then
        kill "$PID"
        echo "S99agent: stopped (pid $PID)"
    fi
    rm -f "$PIDFILE"
}

status() {
    if [ -f "$PIDFILE" ] && kill -0 "$(cat "$PIDFILE")" 2>/dev/null; then
        echo "S99agent: running (pid $(cat "$PIDFILE"))"
        return 0
    fi
    echo "S99agent: stopped"
    return 1
}

case "$1" in
    start)   start ;;
    stop)    stop ;;
    restart) stop; sleep 1; start ;;
    status)  status ;;
    logs)    tail -f "$LOG" ;;
    *)
        echo "Usage: $0 {start|stop|restart|status|logs}"
        exit 1
        ;;
esac

exit 0
