我想编写一个部署在unix框中的java应用程序。我需要检查正在运行的进程 - 在盒子上运行。有人能告诉我一个例子/指出我正确的方向吗?
答案 0 :(得分:15)
如果要查找正在运行的java进程,可以使用
ps -ef | grep java
如果您需要检查正在使用的端口,
netstat -tupln
答案 1 :(得分:2)
我遇到了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
未显示它),那是我如何遇到这两个版本的(将<pid>
替换为进程ID):
jcmd <pid> VM.version