Хотите иметь список виртуальных машин Java, запущенных в системе, и программ, на которых они размещены. В частности, какой кот использует какую версию java. Есть ли какой-нибудь инструмент командной строки, который я могу использовать в системах, подобных Debian?
В частности, для кота я нашел:
ps uax | grep tomcat
который дает полную командную строку, которая включает путь к используемому java vm, однако есть ли более ориентированный на java способ получить исчерпывающий список?
При правильной установке с помощью 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, используемый этим экземпляром.
java -version
Также запустите файл на /etc/alternatives/java
. Это покажет расположение двоичного файла.