I want to be able to run an external program concurrently with my Java code, i.e. I want to start the program, then return control to the calling method while keeping the ex
I second the answer about using ProcessBuilder. If you want to know more details about this, and why you should prefer it to Runtime.exec(), see this entry in the Java glossary. It also shows how to use threads to communicate with the external process.