Why not use ProcessBuilder? It is a lot user-friendlier than Runtime.exec. For instance:
And you can also easily specify the directory to run in (note: Runtime.exec is overloaded to take a File argument for the same purpose):
From the way you're reading from the process' InputStream I can see you haven't read When Runtime.exec() won't. The articles is old, but the warnings are still valid. There is one update they should make - you can redirect the error stream to the output stream:
Now you don't have to worry about the stream gobbling threads anymore, you can just read from the InputStream because it also contains the error output.