UNIXProcess.exitValue() should throw IllegalThreadStateException if the process is still running. I would suggest adding the following line to exitValue() before the return: if ( isalive ) throw new IllegalThreadStateException(); BTW, people seem to post bugs on the mailing list. Is this where they belong? Or is in the bug report mail address at transvirtual? Or both?