jcmd - 在运行 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和本机接口可以做到这一点。

最新更新