jps - Unix, Linux Command
jps - Java Virtual Machine Process Status Tool
jps [options] [hostid]
jps tool lists the instrumented HotSpot Java Virtual
Machines (JVMs) on the target system. The tool is limited
information on JVMs for which it has the access permissions.
jps is run without specifying a hostid, it will look for instrumented JVMs
on the local host. If started with a hostid, it will look 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 will report the local VM identifier, or lvmid,
for each instrumented JVM found on the target system. The lvmid is
typically, but not necessarily, the operating systems
process identifier for the JVM process. With no options,
jps will list each Java
applications lvmid followed by the short form of the
applications class name or jar file name. The short form of
the class name or JAR
file name omits the classs package information or the
JAR files 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, the class name (or JAR file name)
and the arguments to the main method will not be available. In
this case, the
jps command will output the string Unknown for the class name
or JAR file name and for the arguments to the main method.
The list of JVMs produced by the jps command may be limited by
the permissions granted to the principal running the command. The
command will only list the JVMs for which the principle has
access rights as determined by operating system specific access control
NOTE - This utility is unsupported and may or may not be
available in future versions of the JDK.
It is not currently available on Widows 98 and Windows ME platforms.
The host identifier of the host for which the process report should be
generated. The hostid may include optional components that
indicate the communications protocol, port number, and other
implementation specific data.
jps command supports a number of options that modify the output of the command.
These options are subject to change or removal in the future.
Suppress the output of the class name, JAR file name, and arguments
passed to the main method, producing only a list of local VM identifiers.
Output the arguments passed to the main method. The output may be null
for embedded JVMs.
Output the full package name for the applications main class or the full path name to the applications JAR file.
Output the arguments passed to the JVM.
Output the arguments passed to the JVM through the flags file (the .hotspotrc file or the file specified by the -XX:Flags=<filename> argument).
Pass option to the java launcher called by javac. For example, -J-Xms48m
sets the startup memory to 48 megabytes. It is a common
convention for -J to pass options to the underlying VM
executing applications written in Java.
The host identifier, or hostid is a string that indicates the
target system. The syntax of the hostid string largely corresponds
to the syntax of a URI:
The communications protocol. If the protocol is omitted and a
hostname is not specified, the default protocol is a platform
local protocol. If the protocol is omitted and a hostname is
specified, then the default protocol is rmi.
A hostname or IP address indicating the target host. If hostname is
omitted, then the target host is the local host.
The default port for communicating with the remote server. If the
hostname is omitted or the protocol specifies an optimized, local
protocol, then port is ignored. Otherwise, treatment of the
port parameter is implementation specific. For the default
rmi protocol the port indicates the
port number for the rmiregistry on the remote host. If
port is omitted, and protocol indicates rmi, then the
default rmiregistry port (1099) is used.
The treatment of this parameter depends on the implementation. For
the optimized, local protocol, this field is ignored. For the rmi protocol,
this parameter is a string representing the name of the RMI remote
object on the remote host. See the -n option for the jstatd command.
The output of the jps command follows the following pattern:
lvmid [ [ classname | JARfilename | "Unknown"] [ arg* ] [ jvmarg* ] ]
Where all output tokens are separated by white space. An arg
that includes embedded white space will introduce ambiguity when
attempting to map arguments to their actual positional parameters.
NOTE- You are advised not to write scripts to parse jps output
since the format may change in future releases. If you choose to write
scripts that parse jps output, expect to modify them for
future releases of this tool.
This section provides examples of the jps command.
Listing the instrumented JVMs on the local host:
Listing the instrumented JVMs on a remote host:
This example assumes that the jstat server and either the 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 also includes the -l option
to output the long form of the class names or JAR file names.
jps -l remote.domain
Listing the instrumented JVMs on a remote host with a
non-default 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
3102 sun.tools.jstatd.jstatd -p 2002