This is a wrapper around System.getRuntime().exec() that will automatically handle reading
from the input/output streams to avoid possible blocks and deadlocks, as mentioned (though not
emphasized enough) in the Process class javadoc:
"Because some native platforms only provide limited buffer size for standard input and output streams,
failure to promptly write the input stream or read the output stream of the subprocess may cause the
subprocess to block, and even deadlock."
Most calls to System.getRuntime().exec() run without problem, but if you find that it fails by blocking
or deadlocking, this class is the answer to your problem.
Small class which will (on a new thread) constantly read from an input stream so that
it never fills up (thereby causing problems for the runtime program).