如何区分正在运行的java程序

如何区分正在运行的java程序,java,Java,我们的服务器运行许多java程序。其中一些是通过命令“java-jar***.jar”启动的。但有时我不得不停下来更新其中的类文件。问题是我如何确定哪个程序是我要停止的程序,或者是否有一个工具可以用来确定可执行jar文件的位置。您可以使用jps命令 $ jps -v 34370 Jps -Dapplication.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home -Xms8m 34341 main -XX:+

我们的服务器运行许多java程序。其中一些是通过命令“java-jar***.jar”启动的。但有时我不得不停下来更新其中的类文件。问题是我如何确定哪个程序是我要停止的程序,或者是否有一个工具可以用来确定可执行jar文件的位置。

您可以使用
jps
命令

$ jps -v
34370 Jps -Dapplication.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home -Xms8m
34341 main -XX:+TieredCompilation -Xbootclasspath/a:/usr/local/Cellar/leiningen/2.5.0/libexec/leiningen-2.5.0-standalone.jar -Dfile.encoding=UTF-8 -Dmaven.wagon.http.ssl.easy=false -Dleiningen.original.pwd=/Users/ntalbs/js-workspace/synapeditor_mobile -Dleiningen.script=/usr/local/bin/lein
$ ps -ef | grep java
jps
将显示所有java进程。第一列是OS pid。您可以检查控制台上的消息,然后杀死您想要的东西。也许你想从甲骨文查一下

此外,您还可以使用
ps
grep
命令

$ jps -v
34370 Jps -Dapplication.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home -Xms8m
34341 main -XX:+TieredCompilation -Xbootclasspath/a:/usr/local/Cellar/leiningen/2.5.0/libexec/leiningen-2.5.0-standalone.jar -Dfile.encoding=UTF-8 -Dmaven.wagon.http.ssl.easy=false -Dleiningen.original.pwd=/Users/ntalbs/js-workspace/synapeditor_mobile -Dleiningen.script=/usr/local/bin/lein
$ ps -ef | grep java


您可以运行
ps-aux
以获取所需的详细信息(假设您在unix中)