Using monit for a process that doesn't background/run as a daemon

Current versions of monit allow you to match process strings using the matching "string" directive instead of the PID...

check process n2n-edge
        matching "/usr/sbin/edge"
        start program = "/root/tools/edge.87.server"
        stop program = "/usr/bin/killall edge"
        if 10 restarts within 11 cycles then timeout
        if cpu usage > 95% for 11 cycles then restart

You can check the byproducts of the process.

You could, for example, monitor the existence of a lock file, the modification time of a directory, or something that is modified or created by your process.