I am using the following JVM parameters to start-up a JVM with the hostpot debugger.
-Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=0
Maybe something you could start with.
netstat -tlnp
This gives you a list of all processes listening on a local TCP port. For example:
tcp 0 0 0.0.0.0:35688 0.0.0.0:* LISTEN 26733/java
35688 - the ephemeral port java - the program name which is listening 26733 - the PID of the process
If you need a finer granularity of the java processes you could use ps
to gather informations about the process.
ps x -p 26733
could return something like
26733 pts/1 0:00 java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=0 Scratch
From within VM:
Properties props = sun.misc.VMSupport.getAgentProperties();
System.out.println(props.getProperty("sun.jdwp.listenerAddress"));
From outside application:
VirtualMachine vm = com.sun.tools.attach.VirtualMachine.attach(PID);
try {
Properties props = vm.getAgentProperties();
System.out.println(props.getProperty("sun.jdwp.listenerAddress"));
} finally {
vm.detach();
}
Both are not a part of a standard. Applicable only to OpenJDK / Oracle JDK.