I need to have OpenVPN restart if it fails. Upstart with respawn seems the best way to do this, but after working through the example over here it seems that OpenVPN forks 14 times! Which means upstart has no idea what the process is doing and can't manage it any further. OpenVPN can write a pid file but seems that upstart can't deal with that either.
Any suggestions or ideas on how to make upstart do this, or should I be looking at monit or custom scripts?