当前位置: 首页 > 后端技术 > Java

Java的jps命令详解

时间:2023-04-01 13:34:32 Java

jps命令介绍jps(JavaVirtualMachineProcessStatusTool)是JDK提供的一个可以列出正在运行的Java虚拟机的进程信息的命令行工具,它可以显示Java虚拟机的进程。主执行类(MainClass,main()函数所在的类)名称,本地虚拟机的唯一标识(LVMID,LocalVirtualMachineIdentifier)等信息。此外,jps命令只能显示有关它有权访问的Java进程的信息。jps命令虽然功能比较简单,但是使用频率很高。对于本地虚拟机来说,本地虚拟机的唯一ID与操作系统的进程ID(PID,ProcessIdentifier)是一致的。如果同时启动了多个Java虚拟机进程,则无法根据进程名确定一个进程。我们使用jps命令区别于显示主类名的功能。jps命令参数命令语法:jps[-q][-mlvV][hostid]jps[-help]命令参数说明:-q:不显示主类名、JAR文件名和传递给主方法的参数,只显示显示本地虚拟机唯一ID。-mlvV:我们可以指定这些参数的任意组合。-m:显示Java虚拟机启动时传递给main()方法的参数。-l:显示主类的完整包名。如果进程执行JAR文件,它还会显示JAR文件的完整路径。-v:显示Java虚拟机启动时传递的JVM参数。-V:不显示main类名、JAR文件名和传递给main方法的参数,只显示本地虚拟机的唯一ID。hostid:指定的远程主机,可以是ip地址和域名,也可以指定具体的协议和端口。如果不指定,则显示本地Java虚拟机的进程信息。-help:显示jps命令的帮助信息。在不指定任何参数的情况下,jps命令显示每个Java虚拟机进程的本地虚拟机唯一ID,后跟主类名或JAR文件名的缩写形式。命令显示格式:LVMID[[classname|JAR文件名|"Unknown"][arg*][jvmarg*]]其中所有输出都是用空格分隔的,所以当arg或jvmarg中包含空格时,可能难以区分,需要注意。jps命令示例显示本地Java虚拟机进程:#jps15729jar92153Jps90267Jstat显示主类的完整包名或JAR文件名:#jps-l15729one-more-1.0.0.RELEASE.jar112054sun.tools。jps。jps90267sun.tools.jstat.Jstat显示主类的完整包名或JAR文件名,并显示JVM参数:#jps-lv15729one-more-1.0.0.RELEASE.jar-Xmx1g-Xms1g-Xmn512m-XX:SurvivorRatio=4-XX:MetaspaceSize=256m-XX:+UseG1GC9043sun.tools.jps.Jps-Denv.class.path=.:/usr/local/java/jdk1.8.0_251/lib:/usr/local/java/jdk1.8.0_251/jre/lib-Dapplication.home=/usr/local/java/jdk1.8.0_251-Xms8m90267sun.tools.jstat.Jstat-Denv.class.path=.:/usr/local/java/jdk1.8.0_251/lib:/usr/local/java/jdk1.8.0_251/jre/lib-Dapplication.home=/usr/local/java/jdk1.8.0_251-Xms8m显示完整包名或JAR文件名的主类,并显示传递给main()方法的参数:#jps-lm15729one-more-1.0.0.RELEASE.jar59014sun.tools.jps.Jps-lm90267sun.tools.jstat.Jstat-gc157291000endsthoughjps该命令已经启动了很长时间并且使用频繁,但它仍然是一个“实验性和不受支持”(ExperimentalandUnsupported)的工具,将来可能会变成常规,也可能在某个JDK版本中无声无息地消失了。所以,用它,珍惜它。最后,谢谢你这么帅,给我点赞和关注。