Be careful not to miss a child exit (it has happened) - use non-block wait log stuff. when=time for daemon optionally connect pipe to stdout/stderr and wait until pipe closed. optionally have pidfile from which pid may be read if child exits but pipe still open