#!/usr/bin/env sh

CMD="$1"
FILE="$2"
#LOG="$(mktemp /tmp/${CMD}log.XXXXXX)"

getChangeTime () {
    stat -c '%Y' "$FILE"
}

start () {
    $CMD $FILE & #2>>$LOG 
    PSID=$!
    CHANGETIME="$(getChangeTime)"
    echo "Started $CMD $FILE at $(TZ=UTC date)"
}

start

while true; do
    NEWCHANGETIME="$(getChangeTime)"
    if [ $NEWCHANGETIME -ne $CHANGETIME ]; then
        echo "File has changed!"
        kill $PSID
        start
    fi;
    sleep 1
done;