在Windows server中使用特定java版本查找所有应用程序的方法

在Windows server中使用特定java版本查找所有应用程序的方法,java,java-7,java-6,Java,Java 7,Java 6,我们在服务器java 1.6和java 1.7上有两个java版本。有没有办法找出在调用该版本的计算机上运行的应用程序。我们的要求是卸载Java 1.6,但我们关心的是,它不应影响使用该版本的其他应用程序,因此尝试查找所有使用该版本的应用程序。您可以尝试 ps aux | grep 'java' 如果你在Linux上 (更新:OP随后澄清我们在这里使用Windows。) 这将显示哪些Java运行时正在运行哪些应用程序。如果您不知道(例如,ps输出中的java可能是一个符号链接),只需直接调用:

我们在服务器java 1.6和java 1.7上有两个java版本。有没有办法找出在调用该版本的计算机上运行的应用程序。我们的要求是卸载Java 1.6,但我们关心的是,它不应影响使用该版本的其他应用程序,因此尝试查找所有使用该版本的应用程序。

您可以尝试

ps aux | grep 'java'
如果你在Linux上

更新:OP随后澄清我们在这里使用Windows。)

这将显示哪些Java运行时正在运行哪些应用程序。如果您不知道(例如,ps输出中的java可能是一个符号链接),只需直接调用:

$ ps aux | grep 'java'
wwheeler        52434   0.0  0.7  8279924 112772 s000  S+    4:53PM   0:04.12 /usr/bin/java -Dorg.gradle.daemon=true -Xdock:name=Gradle -Xdock:icon=/usr/local/Cellar/gradle/2.12/libexec/media/gradle.icns -Dorg.gradle.appname=gradle -classpath /usr/local/Cellar/gradle/2.12/libexec/lib/gradle-launcher-2.12.jar org.gradle.launcher.GradleMain bootRun
wwheeler         9158   0.0  0.0  2434840    776 s002  S+    6:07PM   0:00.00 grep java
$ /usr/bin/java -version
java version "1.8.0_74"
Java(TM) SE Runtime Environment (build 1.8.0_74-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.74-b02, mixed mode)

无法收集有关哪些应用程序使用特定JRE实例的信息您必须手动执行,因为这些信息存在于应用程序的配置中

补充信息,要查找正在运行的JRE,请打开任务管理器:

打开选项卡详细信息,查找java过程

右键单击,然后从关联菜单中选择属性:


您将看到特定的Java JRE正在运行。

如果您在命令行中执行
Java-version
,它很可能是运行所有Java应用程序的版本。。。除非在
bat
文件和/或
direct path
中指定,否则所有服务器都在Windows上,然后使用任务管理器并显示完整路径,以确定您使用的是哪个java版本-命令行中的版本最有可能是它运行所有java应用程序的版本。。。除非bat文件和/或直接path@3kings同意,但这听起来似乎有一些问题,是否真的是这样。所以我想帮他核实一下。(好吧,如果他在Linux上。)@3kings我们确实有很多进程在服务器上运行。这些基本上是bat或exe文件。它们可能引用了我们想要删除的java1.6的bin文件夹。那么,如果有办法找到所有正在运行的进程和它们调用的java?谢谢,但是如果有其他应用程序内部使用java 1.6版本呢?我不理解你的评论,你能更清楚地表达你的想法吗?好的,我已经理解你的想法了。我将修改答案。