我想编写一个要部署在 unix 机器上的 java 应用程序。我需要检查正在运行的进程 - 在盒子上运行。有人可以给我看一个例子/指出我正确的方向吗?
问问题
45827 次
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 回答