jps命令

列出目标系统上检测的 Java 虚拟机 (JVM)。此命令是实验性的,不受支持。

概要

jps [ options ] [ hostid ]

options
命令行选项。请参阅Options。

hostid
应为其生成进程报告的主机的标识符。它hostid可以包括可选组件,这些组件指示通信协议、端口号和其他实现特定的数据。请参阅主机标识符。

描述

该jps命令列出目标系统上已检测的 Java HotSpot VM。该命令仅限于报告有关其具有访问权限的 JVM 的信息。

如果该jps命令在没有指定 a 的情况下运行hostid,则它会在本地主机上搜索已检测的 JVM。如果以 a 开头hostid,则它使用指定的协议和端口在指定的主机上搜索 JVM。假定一个jstatd进程正在目标主机上运行。

该jps命令报告本地 JVM 标识符,或lvmid,用于在目标系统上找到的每个已检测 JVM。通常但不一定是 JVM 进程的lvmid操作系统进程标识符。如果没有选项,则jps列出每个 Java 应用程序,lvmid后跟应用程序的类名或 jar 文件名的缩写形式。类名或 JAR 文件名的缩写形式省略了类的包信息或 JAR 文件路径信息。

该jps命令使用 Java 启动器来查找传递给 main 方法的类名和参数。如果目标 JVM 使用自定义启动器启动,则类或 JAR 文件名以及main方法的参数不可用。在这种情况下,该jps命令输出Unknown类名或 JAR 文件名以及main方法参数的字符串。

该命令生成的 JVM 列表jps可以通过授予运行该命令的主体的权限来限制。该命令仅列出原则具有访问权限的 JVM,这些权限由操作系统特定的访问控制机制确定。

Options

该jps命令支持许多修改命令输出的选项。这些选项将来可能会更改或删除。

-q
抑制传递给方法的类名、JAR 文件名和参数的输出,main仅生成本地 JVM 标识符列表。

-m
显示传递给main方法的参数。输出可能null用于嵌入式 JVM。

-l
显示应用程序main类的完整包名或应用程序 JAR 文件的完整路径名。

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

-V
抑制传递给 main 方法的类名、JAR 文件名和参数的输出,仅生成本地 JVM 标识符列表。

-Joption
传递option给 JVM,其中 option 是optionsJava 应用程序启动器参考页面上描述的选项之一。例如,-J-Xms48m将启动内存设置为 48 MB。见java(1)。

Host Identifier

主机标识符,或者hostid是指示目标系统的字符串。字符串的语法hostid对应于 URI 的语法:

[protocol:][[//]hostname][:port][/servername]
protocol
通信协议。如果protocol省略了hostname并且未指定 a,则默认协议是特定于平台的优化本地协议。如果省略协议并指定主机名,则默认协议为rmi.

hostname
指示目标主机的主机名或 IP 地址。如果省略该hostname参数,则目标主机为本地主机。

port
与远程服务器通信的默认端口。如果hostname省略参数或protocol参数指定优化的本地协议,则port忽略该参数。否则,port参数的处理是特定于实现的。对于默认rmi协议,该port参数表示远程主机上 rmiregistry 的端口号。如果port省略该参数,并且该protocol参数指示rmi,则使用默认的 rmiregistry 端口(1099)。

servername
这个参数的处理取决于实现。对于优化的本地协议,该字段被忽略。对于rmi协议,此参数是一个字符串,表示远程主机上的 RMI 远程对象的名称。有关详细信息,请参阅jstatd命令-n选项。

Output Format

该jps命令的输出遵循以下模式:

lvmid [ [ classname | JARfilename | “Unknown”] [ arg* ] [ jvmarg* ] ]
所有输出标记都由空格分隔。arg包含嵌入空格的值在尝试将参数映射到其实际位置参数时会引入歧义。

注意:建议您不要编写脚本来解析jps输出,因为格式在未来版本中可能会发生变化。如果您编写解析jps输出的脚本,则希望为该工具的未来版本修改它们。

Examples

本节提供该jps命令的示例。

列出本地主机上检测到的 JVM:

jps
18027 Java2Demo.JAR
18032 jps
18005 jstat

以下示例列出了远程主机上已检测的 JVM。此示例假定jstat服务器及其内部 RMI 注册表或单独的外部 rmiregistry 进程正在远程主机上的默认端口(端口 1099)上运行。它还假定本地主机具有访问远程主机的适当权限。此示例还包括-l输出类名或 JAR 文件名的长格式的选项。

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

以下示例列出了远程主机上已检测的 JVM,该主机具有 RMI 注册表的非默认端口。此示例假设jstatd服务器在远程主机上运行,​​其内部 RMI 注册表绑定到端口 2002。此示例还使用该-m选项来包含传递给main每个列出的 Java 应用程序的方法的参数。

jps -m remote.domain:2002
3002 /opt/jdk1.7.0/demo/jfc/Java2D/Java2Demo.JAR
3102 sun.tools.jstatd.jstatd -p 2002

See Also

  • java(1)
  • jstat(1)
  • jstatd(1)
  • rmiregistry(1)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值