In my tests on Linux, killing the parent java process (with Ctrl-C) does automatically kill the child process, but I don't think this is true on other platforms, eg Windows.  

I think we should use Runtime.addShutdownHook(), with the knowledge that if the java process dies unexpectedly, it may not be able to kill the child process.