【发布时间】:2025-11-21 12:40:01
【问题描述】:
在 Ubuntu 上,man jps 说
jps - 列出目标系统上已检测的 Java 虚拟机 (JVM)。
“仪表化的 Java 虚拟机”是什么意思?
$ jps -v
29584 Jps -Dapplication.home=/usr/lib/jvm/java-11-openjdk-amd64 -Xms8m -Djdk.module.main=jdk.jcmd
根据定义,jps 进程是 JVM 进程吗?
jps 是 ELF 文件,而不是从 Java 程序编译的 JVM 字节码程序:
$ file /usr/lib/jvm/java-11-openjdk-amd64/bin/jps
/usr/lib/jvm/java-11-openjdk-amd64/bin/jps: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=3f48c70ab711b493ee793c92c19b3a884896bb4d, stripped
$ jps -v
16462 Jps -Dapplication.home=/usr/lib/jvm/java-11-openjdk-amd64 -Xms8m -Djdk.module.main=jdk.jcmd
【问题讨论】:
-
它是一个仪表化的 JVM。 JVM是一个进程。不清楚你在问什么。
-
“仪表化 Java 虚拟机”是什么意思?为什么 jps 进程是 JVM 进程?
-
检测的 JVM 是当前正在导出 JMX 检测端点的 JVM。
jps进程是一个检测的 JVM,因为这就是它在您的报价中所说的。 -
谢谢。 (1) “导出 JMX 检测端点”是什么意思? (2) 能不能启动一个非仪表化的JVM?