7

我想编写一个要部署在 unix 机器上的 java 应用程序。我需要检查正在运行的进程 - 在盒子上运行。有人可以给我看一个例子/指出我正确的方向吗?

4

2 回答 2

20

如果要查找正在运行的 java 进程,可以使用

ps -ef | grep java

如果您需要检查哪些端口正在使用中,

netstat -tupln

于 2013-09-05T15:11:13.367 回答
3

我遇到了一些ps aux | grep java由 Java 提供的替代方法,它们需要更少的输入:

jcmd

jps -v

该选项-v将显示传递给 JVM 的参数。

如果您获得进程信息不可用,这可能是因为该进程正在使用 OpenJDK 运行。如果您是 root 并且该过程是使用非 root 用户启动的,您可以使用以下内容查看详细信息(替换<user>为用户名):

sudo -u <user> jps -v

另一个不错的功能jcmd是您可以显示特定进程使用的 Java 版本(以防ps aux | grep java不显示),这就是我遇到两者的方式(替换<pid>为进程 ID):

jcmd <pid> VM.version
于 2015-10-01T16:00:07.537 回答