想要列出系统上运行的 Java VM 以及它们托管的程序。特别是哪个 tomcat 使用哪个 Java 版本。是否有任何命令行工具可以在类似 Debian 的系统上使用?
对于 tomcat 我特别发现:
ps uax | grep tomcat
它提供了包含所用 java vm 路径的完整命令行,但是是否有更面向 java 的方法来获取全面的列表?
答案1
如果使用正确安装update-java-alternatives
,您可以通过以下命令找到它们:
# update-java-alternatives -l
java-1.6.0-openjdk-amd64 1061 /usr/lib/jvm/java-1.6.0-openjdk-amd64
java-1.7.0-openjdk-amd64 1071 /usr/lib/jvm/java-1.7.0-openjdk-amd64
java-gcj-4.6 /usr/lib/jvm/java-gcj-4.6
java-gcj-4.7 /usr/lib/jvm/java-gcj-4.7
jdk1.7.0_03 7003 /usr/lib/jvm/jdk1.7.0_03
否则,如果仅使用普通update-alternatives
系统安装,请使用:
# update-alternatives --display java
如果你只是把 JRE/JDK 放到任何地方,你将不得不解析一些更有针对性的输出,而不是
# ps -def | grep java
Tomcat 的情况类似。如果您使用存储库安装了 Tomcat,则该文件/etc/default/tomcat{6,7}
包含一个JAVA_HOME
指向此实例使用的 JRE/JDK 的变量。
答案2
java -version
另外,运行一个文件/etc/alternatives/java
。这将显示二进制文件的位置。