JAVA命令行工具(二)-jps

2018-05-20  本文已影响169人  Hypercube

1.总述

使用jps命令可以列出目标系统上运行的JVM进程。如果不指定任何选项,该命令将列出本地JVM进程ID和主类或可运行jar包的短名。
注意:

  1. 只有运行该命令的用户具有访问权限的JVM进程才能被该命令列出。
  2. 对于运行与docker容器中的JVM进程,jps命令不能列出与该工具不在同一个docker实例中的JVM进程。此时,可以使用操作系统的命令如ps列出JVM进程的PID。
  3. 该命令是实验性的,在将来的版本可能不受支持。

2.选项参数

由于jps命令极其简单,选项参数也很少,常见的使用形式如下:

    jps [-q] [-mlvV] [hostid]
    jps [-help]

各选项的含义如下:
-q
  输出结果中忽略主类名、jar包名和传给mian方法的参数,只列出JVM进程标识ID。
-mlvV

hostid
  希望展示JVM进程信息的主机标识。hostid包含通信协议、主机IP、通信端口等可选信息,是一个如下格式的URI:

    [protocol:][[//]hostname][:port][/servername]

protocol
  通信协议,如果protocol和hostname都没有指定,那么默认协议为本地协议即列出本地主机上的JVM进程。如果protocol没有指定,但指定了hostname,那么默认协议为rmi
hostname
  目标主机的IP地址或主句名。如果没有指定,默认为本地主机。
port
  主机通信的端口。本地主机将忽略端口参数,远程主机则实现各异。对于rmi协议,端口表示远程主机rmiregistry服务的端口,默认值为1099。
servername
  根据实现的不同,参数含义不用。本地协议将忽略该参数,对于rmi协议,该参数表示远程主机rmi服务名。
-help
显示该命令的帮助信息

3.示例

jps命令的输出格式如下:

    lvmid [ [classname|JARfilename|"Unknown"] [arg*] [jvmarg*] ]

列出本地JVM进程的示例如下:

    jps
    18032 jps
    18005 jstat

列出远程主机JVM进程的示例如下(需要具有访问远程主机的权限):

    jps -l remote.domain
    3002 /opt/jdk1.7.0/demo/jfc/Java2D/Java2Demo.JAR
    2857 sun.tools.jstatd.jstatd

使用-l选项列出主类全名或jar包全路径名,没有指定端口,则访问默认的1099端口。

上一篇 下一篇

猜你喜欢

热点阅读