jps [ options ] [ hostid ]
options
hostid
jpsコマンドは、ターゲット・システム上で計測されたJava HotSpot VMを一覧表示します。このコマンドで表示できるレポート情報は、アクセス権を持ったJVMに関するものに限定されます。
hostidを指定せずにjpsコマンドを実行した場合、ローカル・ホストで計測されたJVMが検索されます。hostidを指定して起動した場合、指定されたプロトコルとポートを使用して、指定されたホスト上のJVMを検索します。jstatdプロセスがターゲット・ホスト上で実行されていると想定されます。
jpsコマンドは、ターゲット・システムで計測された各JVMについて、ローカルVM識別子、つまりlvmidをレポートします。lvmidは、一般的にはJVMプロセスに対するオペレーティング・システムのプロセス識別子ですが、必ずしもそうであるとは限りません。オプションを指定しない場合、jpsによって、各Javaアプリケーションのlvmidが一覧表示され、それぞれにアプリケーションのクラス名またはJARファイル名が簡単な形式で示されます。この簡単な形式のクラス名とJARファイル名では、クラスのパッケージ情報またはJARファイル・パス情報が省略されています。
jpsコマンドは、Java起動ツールを使用してmainメソッドに渡されるクラス名と引数を検索します。独自の起動ツールを使用してターゲットJVMを起動した場合は、mainメソッドに渡されるクラス名またはJARファイル名と引数は利用できません。この場合、jpsコマンドは、mainメソッドに渡されるクラス名またはJARファイル名と引数に対して、文字列Unknownを出力します。
jpsコマンドで生成されるJVMのリストは、このコマンドを実行するプリンシパルに与えられたアクセス権に基づき、制限される場合があります。このコマンドは、オペレーティング・システム独自のアクセス制御機構による決定に基づいて、プリンシパルにアクセス権が与えられているJVMのみを一覧表示します。
jpsコマンドでは、コマンドの出力を変更するオプションが多数サポートされています。将来、これらのオプションは、変更または廃止される可能性があります。
-q
-m
-l
-v
-V
-Joption
ホスト識別子、つまりhostidは、ターゲット・システムを示す文字列です。hostid文字列の構文は、URIの構文に対応しています。
[protocol:][[//]hostname][:port][/servername]
protocol
hostname
port
servername
jpsコマンドの出力は、次のパターンに従います。
lvmid [ [ classname | JARfilename | "Unknown"] [ arg* ] [ jvmarg* ] ]
すべての出力トークンは空白文字で区切られます。arg値の中で空白を使用すると、実際の定位置パラメータに引数をマッピングしようとするときに、あいまいになります。
注意: 将来のリリースでこの形式は変更される可能性があるため、jpsの出力を解析するスクリプトは作成しないことをお薦めします。jps出力を解析するスクリプトを作成すると、このツールの将来のリリースで、作成したスクリプトの変更が必要になる可能性があります。
この項では、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
次の例では、RMIレジストリにデフォルトではないポートを使用して、リモート・ホスト上で計測されたJVMを一覧表示します。この例では、内部RMIレジストリがポート2002にバインドされたjstatdサーバーが、リモート・ホスト上で実行されていると想定しています。また、-mオプションを使用して、一覧表示されたそれぞれのJavaアプリケーションのmainメソッドに渡される引数を組み込んでいます。
jps -m remote.domain:2002 3002 /opt/jdk1.7.0/demo/jfc/Java2D/Java2Demo.JAR 3102 sun.tools.jstatd.jstatd -p 2002