【问题标题】:how to get running jvms in current machine如何在当前机器上运行 jvm
【发布时间】:2013-08-29 10:58:23
【问题描述】:

想象一下:两个 java 项目在 JDK1.5 和 JDK1.6 上工作 其中两个是在 JDK 1.7 上工作的。 如何获取正在运行的 jvm 名称、pid 和项目名称就可以了。

结果应该看起来像:

pid 1234, projec_tname prj1, java_version JDK1.6

pid 4354, projec_tname prj2, java_version JDK1.5

pid 6234, projec_tname prj3, java_version JDK1.7

pid 9034, projec_tname prj4, java_version JDK1.7

Is there a Java library that searches for JVMs on the current machine? 中的解决方案是在当前机器中查找未运行的 JDK。这对我的问题没有帮助。有什么想法吗?

【问题讨论】:

  • 它在操作系统层面的表现如何?也许你可以从那里检查它们
  • 我需要将它们放入一个程序中。 @Neron

标签: jvm java jvmti


【解决方案1】:

您正在寻找此 API:http://docs.oracle.com/javase/7/docs/jdk/api/attach/spec/

您必须将 tools.jar 添加到您的类路径中。

这是开始的方法:VirtualMachine.list()

id()s 是特定于提供者的,但它通常是一个进程 ID。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-12
    • 2013-11-20
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多