JPS(1)
okay bestie, welcome to JPS(1) โ the jps page from the JDK Commands family. itโs giving โlist the instrumented JVMs on the target systemโ energy, and weโre gonna walk through it together, no cap. ๐
โจ NAME โจ
jps โ list the instrumented JVMs on the target system. literally the name line, slayed. ๐
๐ SYNOPSIS ๐
Note: This command is experimental and unsupported.
jps [-q] [-mlvV] [hostid]
jps [-help]
๐ OPTIONS ๐
-qโ suppresses the output of the class name, JAR file name, and arguments passed to the main method, producing a list of only local JVM identifiers.-mlvVโ you can specify any combination of these options.-mโ displays the arguments passed to the main method. The output may benullfor embedded JVMs.-lโ displays the full package name for the applicationโs main class or the full path name to the applicationโs JAR file.-vโ displays the arguments passed to the JVM.-Vโ suppresses the output of the class name, JAR file name, and arguments passed to the main method, producing a list of only local JVM identifiers.
hostidโ the identifier of the host for which the process report should be generated. Thehostidcan include optional components that indicate the communications protocol, port number, and other implementation specific data. See Host Identifier.-helpโ displays the help message for thejpscommand.
๐ธ DESCRIPTION ๐ธ
The jps command lists the instrumented Java HotSpot VMs on the target system. Itโs limited to reporting information on JVMs for which it has the access permissions. lowkey important. ๐
If the jps command is run without specifying a hostid, then it searches for instrumented JVMs on the local host. If started with a hostid, then it searches for JVMs on the indicated host, using the specified protocol and port. A jstatd process is assumed to be running on the target host. โจ
The jps command reports the local JVM identifier, or lvmid, for each instrumented JVM found on the target system. The lvmid is typically, but not necessarily, the operating systemโs process identifier for the JVM process. With no options, the jps command lists each Java applicationโs lvmid followed by the short form of the applicationโs class name or jar file name. The short form of the class name or JAR file name omits the classโs package information or the JAR fileโs path information. ๐ซถ
The jps command uses the Java launcher to find the class name and arguments passed to the main method. If the target JVM is started with a custom launcher, then the class or JAR file name, and the arguments to the main method arenโt available. In this case, the jps command outputs the string Unknown for the class name, or JAR file name, and for the arguments to the main method. itโs giving โwe donโt have that info bestie.โ ๐ญ
The list of JVMs produced by the jps command can be limited by the permissions granted to the principal running the command. The command lists only the JVMs for which the principal has access rights as determined by operating system-specific access control mechanisms. ๐
๐ฆ HOST IDENTIFIER ๐ฆ
The host identifier, or hostid, is a string that indicates the target system. The syntax of the hostid string corresponds to the syntax of a URI:
[protocol:][[//]hostname][:port][/servername]
protocolโ the communications protocol. If the protocol is omitted and a hostname isnโt specified, then the default protocol is a platform-specific, optimized, local protocol. If the protocol is omitted and a host name is specified, then the default protocol isrmi.hostnameโ a host name or IP address that indicates the target host. If you omit thehostnameparameter, then the target host is the local host.portโ the default port for communicating with the remote server. If thehostnameparameter is omitted or theprotocolparameter specifies an optimized, local protocol, then theportparameter is ignored. Otherwise, treatment of theportparameter is implementation-specific. For the defaultrmiprotocol, theportparameter indicates the port number for thermiregistryon the remote host. If theportparameter is omitted, and theprotocolparameter indicatesrmi, then the defaultrmiregistryport (1099) is used.servernameโ the treatment of this parameter depends on the implementation. For the optimized, local protocol, this field is ignored. For thermiprotocol, this parameter is a string that represents the name of the RMI remote object on the remote host. See thejstatdcommand-noption.
๐ OUTPUT FORMAT OF THE JPS COMMAND ๐
The output of the jps command has the following pattern:
lvmid [ [ classname | JARfilename | "Unknown"] [ arg* ] [ jvmarg* ] ]
All output tokens are separated by white space. An arg value that includes embedded white space introduces ambiguity when attempting to map arguments to their actual positional parameters.
Note: Itโs recommended that you donโt write scripts to parsejpsoutput because the format might change in future releases. If you write scripts that parsejpsoutput, then expect to modify them for future releases of this tool. fr fr, donโt get too attached to the format. ๐
๐ฅ EXAMPLES ๐ฅ
This section provides examples of the jps command. periodt. ๐
List the instrumented JVMs on the local host:
jps
18027 Java2Demo.JAR
18032 jps
18005 jstat
The following example lists the instrumented JVMs on a remote host. This example assumes that the jstat server and either its internal RMI registry or a separate external rmiregistry process are running on the remote host on the default port (port 1099). It also assumes that the local host has appropriate permissions to access the remote host. This example includes the -l option to output the long form of the class names or JAR file names. ๐
jps -l remote.domain
3002 /opt/jdk1.7.0/demo/jfc/Java2D/Java2Demo.JAR
2857 sun.tools.jstatd.jstatd
The following example lists the instrumented JVMs on a remote host with a nondefault port for the RMI registry. This example assumes that the jstatd server, with an internal RMI registry bound to port 2002, is running on the remote host. This example also uses the -m option to include the arguments passed to the main method of each of the listed Java applications. ๐ฅ
jps -m remote.domain:2002
3002 /opt/jdk1.7.0/demo/jfc/Java2D/Java2Demo.JAR
3102 sun.tools.jstatd.jstatd -p 2002
mwah ๐ โ this page is from JDK 22, dated 2024, and the footer name is JPS(1). bye bestie, go list those instrumented JVMs! ๐ซถโจ
๐ฆ where this page comes from
- opensuse-leap 16.0: java-22-openjdk-devel 22.0.2.0-160000.1.1 ยท Apache-1.1 AND Apache-2.0 AND GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-only WITH Classpath-exception-2.0 AND LGPL-2.0-only AND MPL-1.0 AND MPL-1.1 AND SUSE-Public-Domain AND W3C
- opensuse-leap 16.0: java-22-openjdk-devel 22.0.2.0-160000.1.1 ยท Apache-1.1 AND Apache-2.0 AND GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-only WITH Classpath-exception-2.0 AND LGPL-2.0-only AND MPL-1.0 AND MPL-1.1 AND SUSE-Public-Domain AND W3C
- opensuse-leap 16.0: java-22-openjdk-devel 22.0.2.0-160000.1.1 ยท Apache-1.1 AND Apache-2.0 AND GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-only WITH Classpath-exception-2.0 AND LGPL-2.0-only AND MPL-1.0 AND MPL-1.1 AND SUSE-Public-Domain AND W3C
- opensuse-leap 16.0: java-22-openjdk-devel 22.0.2.0-160000.1.1 ยท Apache-1.1 AND Apache-2.0 AND GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-only WITH Classpath-exception-2.0 AND LGPL-2.0-only AND MPL-1.0 AND MPL-1.1 AND SUSE-Public-Domain AND W3C
- Copyright (c) 2004, 2018, Oracle and/or its affiliates. All rights reserved
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms