Currently, on Windows, Runtime.exec is implemented by calling
CreateProcess with the bInheritHandles argument set to TRUE,
which causes open handles to not be closed if they are not
explicitly set to be non-inherited. This is the underlying cause
of many subtle bugs, such as
6347873: (so) Ports opened with ServerSocketChannel blocks when using Runtime.exec
http://monaco.sfbay/detail.jsf?cr=6347873
On Unix, we try hard to close all handles (except for standard handles, of course).
Why not also on Windows?