If you’re invoking external processes with Runtime.getRuntime().exec() or ProcessBuilder.start(), it is vitally important to handle the standard out and standard error streams. Otherwise, the parent process may block – it gets stuck without throwing an Exception
to tell you why.
Stuart 'Stevie' Leitch on Software Development, Java Technologies, Security and Testing