Detach from the virtual machine.
After detaching from the virtual machine, any further attempt to invoke operations on that virtual machine will cause an {@link java.io.IOException IOException} to be thrown. If an operation (such as {@link #loadAgent loadAgent} for example) is in progress when this method is invoked thenthe behaviour is implementation dependent. In other words, it is implementation specific if the operation completes or throws
IOException.
If already detached from the virtual machine then invoking this method has no effect.
@throws IOException If an I/O error occurs