美文网首页
JAVA命令行工具(二)-jps

JAVA命令行工具(二)-jps

作者: Hypercube | 来源:发表于2018-05-20 21:57 被阅读169次

    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

    •  -m 展示传递给main方法的参数,嵌入式JVM输出null
    •  -l 展示主类的全包名或者可运行jar包的全路径名
    •  -v 展示JVM进程的选项参数
    •  -V 同-q选项,只列出JVM进程标识ID

    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端口。

    相关文章

      网友评论

          本文标题:JAVA命令行工具(二)-jps

          本文链接:https://www.haomeiwen.com/subject/otcxjftx.html