Java进程列表

Jac*_*lik 107 unix linux bash command-line

如何在bash中列出所有Java进程?我需要一个命令行.我知道有命令,ps但我不知道我需要使用什么参数.

Ric*_*ich 134

尝试:

ps aux | grep java
Run Code Online (Sandbox Code Playgroud)

并看看你如何继续前进


Nic*_*kin 103

最近的Java附带Java虚拟机进程状态工具"jps"

http://download.oracle.com/javase/1.5.0/docs/tooldocs/share/jps.html

例如,

[nsushkin@fulton support]$ jps -m
2120 Main --userdir /home/nsushkin/.netbeans/7.0 --branding nb
26546 charles.jar
17600 Jps -m
Run Code Online (Sandbox Code Playgroud)

  • 请注意:jps只附带JDK,而不是JRE.具有普通ol'Java运行时的机器将不具备此工具. (2认同)

小智 46

jps -lV
Run Code Online (Sandbox Code Playgroud)

最有用的.打印只是pid和合格的主类名称:

2472 com.intellij.idea.Main
11111 sun.tools.jps.Jps
9030 play.server.Server
2752 org.jetbrains.idea.maven.server.RemoteMavenServer
Run Code Online (Sandbox Code Playgroud)

  • 这在包装有限的容器中效果很好。例如,如果缺少“ps”。 (2认同)

anu*_*ava 28

您也可以使用单个命令pgrep(不要求您使用管道和多个命令):

pgrep -fl java
Run Code Online (Sandbox Code Playgroud)


Nic*_*tto 25

从Java 7开始,最简单的方法和不易出错的方法是简单地使用jcmd 作为JDK一部分的命令,以便它在所有操作系统上以相同的方式工作.

例:

> jcmd
5485 sun.tools.jcmd.JCmd
2125 MyProgram
Run Code Online (Sandbox Code Playgroud)

jcmd 允许将诊断命令请求发送到正在运行的Java虚拟机(JVM).

有关如何使用的jcmd更多详细信息.

另请参见jcmd实用程序


Jud*_*han 11

这将返回linux环境中所有正在运行的java进程.然后,您可以使用进程ID终止进程.

ps -e|grep java
Run Code Online (Sandbox Code Playgroud)


小智 10

为了获得更好的输出格式,请检查以下命令:

ps -fC java
Run Code Online (Sandbox Code Playgroud)


Shi*_*kla 8

ps aux | grep java

要么

$ ps -fea|grep -i java


krz*_*ste 6

如果我只想列出java进程,请使用:

ps -A | grep java
Run Code Online (Sandbox Code Playgroud)


vaq*_*han 6

pgrep -l java
ps -ef | grep java
Run Code Online (Sandbox Code Playgroud)

  • 感谢您提供此代码片段,它可能会提供一些即时帮助。一个正确的解释[将大大提高](//meta.stackexchange.com/q/114762) 通过展示*为什么*这是一个很好的解决问题的方法,它的教育价值,并且会使它对未来有类似情况的读者更有用,但不相同,问题。请[编辑]您的答案以添加解释,并说明适用的限制和假设。特别是,为什么第二个不显示 `grep` 进程? (5认同)