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

时间:2018-04-10 07:49:16

标签: java jvm jcmd

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

是否可以拥有自定义命令并在正在运行的JVM中处理它们?

类似于:jcmd $PID myCmd

1 个答案:

答案 0 :(得分:1)

jcmd仅处理预定义的JVM命令列表。但是,有多种方法可以在没有jcmd的情况下实现自定义管理命令。

  1. 简单的就是在JVM中打开一个套接字来监听传入的控制消息。
  2. 或者,您可以使用动态附加机制将代理库加载到正在运行的JVM进程中。这样做有Java APInative interface