java.lang.Process should provide a way to kill all the sub-processes created by a process when a process created by java.lang.Process is killed. This typically requires OS-specific native code, and so it is unreasonable to push this off onto the clients of the java.lang.Process API.
The lack of this facility significantly impacts our facilities for testing JDK, since many of our test environments create process and expect to be able to clean them up afterwards in the face of an abnormal exit. This include JCK, jtreg, JPRT and Tonga.