jcmd - 在 运行 JVM 中处理自定义命令

jcmd - Handle custom commands in running JVM

jcmd 实用程序提供了多个诊断命令: https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/tooldescr006.html

是否可以使用自定义命令并在 运行 JVM 中处理它们?

类似于:jcmd $PID myCmd

jcmd 仅处理预定义的 JVM 命令列表。但是,有多种方法可以在没有 jcmd.

的情况下实现自定义管理命令
  1. 最简单的就是在 JVM 中打开一个套接字来监听传入的控制消息。
  2. 或者,您可以使用动态附加机制将代理库加载到 运行 JVM 进程中。 Java API and native interface 都可以做到这一点。