检查正在运行的进程-java



我想编写一个要部署在unix盒子上的java应用程序。我需要检查正在运行的进程,这些进程正在盒子上运行。有人能给我举个例子/给我指明正确的方向吗?

如果你想找到正在运行的java进程,你可以使用

ps -ef | grep java

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

netstat -tupln

我发现了一些Java提供的ps aux | grep java的替代方案,它们需要更少的类型:

jcmd

jps -v

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

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

sudo -u <user> jps -v

jcmd的另一个不错的特性是,您可以显示特定进程使用的Java版本(以防ps aux | grep java没有显示),这就是我遇到这两者的原因(用进程id替换<pid>):

jcmd <pid> VM.version

最新更新