我的系统上运行了不同的Java应用程序,并希望从其中一个应用程序中检测类
尝试使用动态加载的Java代理执行此操作时,我发现我们可以将其附加到jvm
实例,当{I} vm
实例需要id
jvm
时通过从Windows任务管理器搜索代理jar并不附加到此进程并且抛出错误来放置已运行的Java应用程序的pid
。
使用ManagementFactory.getRuntimeMXBean()
执行此操作时,返回的进程id()
是加载agent.jar
的实例的进程。请建议如何访问不同vmid
实例的jvm
答案 0 :(得分:1)
您可以使用脚本执行 JPS 命令,并提取有关正在运行的VM实例的信息。
此外,jps命令使用具有MonitoredHost方法的activeVms() API。