名前
jps - ターゲット・システムのインストゥルメントされたJVMをリスト
シノプシス
ノート: このコマンドは実験的なものであり、サポートされていません。
jps
[-q
] [-mlvV
] [hostid]
jps
[-help
]
Options
-q
- クラス名、JARファイル名および
main
メソッドに渡される引数の出力を抑制し、ローカルJVM識別子のみのリストを生成します。 -mlvV
これらのオプションは任意の組合せで指定できます。
-m
は、main
メソッドに渡される引数を表示します。 この出力は、組み込まれているJVMに対してnull
になることもあります。-l
は、アプリケーションのmain
クラスのフル・パッケージ名、またはアプリケーションのJARファイルへのフル・パス名を表示します。-v
は、JVMに渡される引数を表示します。-V
は、クラス名、JARファイル名およびmain
メソッドに渡される引数の出力を抑制し、ローカルJVM識別子のみのリストを生成します。
- hostid
- プロセス・レポートが生成されるホストの識別子。
hostid
には、通信プロトコル、ポート番号、実装に固有なその他のデータを指定したオプション・コンポーネントを含めることができます。 「ホスト識別子」を参照してください。 -help
jps
コマンドのヘルプ・メッセージを表示します。
説明
jps
コマンドは、ターゲット・システム上で計測されたJava HotSpot VMを一覧表示します。 このコマンドで表示できるレポート情報は、アクセス権を持ったJVMに関するものに限定されます。
hostid
を指定せずにjps
コマンドを実行した場合、ローカル・ホストで計測されたJVMが検索されます。 hostid
を指定して起動した場合、指定されたプロトコルとポートを使用して、指定されたホスト上のJVMを検索します。 jstatd
プロセスがターゲット・ホスト上で実行されていると想定されます。
jps
コマンドは、ターゲット・システムで計測された各JVMについて、ローカルJVM識別子、つまりlvmid
をレポートします。 lvmid
は、一般的にはJVMプロセスに対するオペレーティング・システムのプロセス識別子ですが、必ずしもそうであるとは限りません。 オプションを指定しなかった場合、jps
コマンドは、各Javaアプリケーションのlvmid
をリストした後に、そのアプリケーションのクラス名またはJARファイル名を簡単な形式でリストします。 この簡単な形式のクラス名とJARファイル名では、クラスのパッケージ情報またはJARファイル・パス情報が省略されています。
jps
コマンドは、Java起動ツールを使用して、mainメソッドに渡されるクラス名と引数を検索します。 カスタム・ランチャを使用してターゲットJVMを起動した場合、クラス名またはJARファイル名と、main
メソッドに渡される引数は使用できません。 この場合、jps
コマンドは、クラス名またはJARファイル名と、main
メソッドへ渡される引数に対して、文字列Unknown
を出力します。
jps
コマンドで生成されるJVMのリストは、このコマンドを実行するプリンシパルに与えられたアクセス権に基づき、制限される場合があります。 このコマンドは、プリンシパルがアクセス権を持つJVMのみを、オペレーティング・システム固有のアクセス制御メカニズムによって決定されたものとしてリストします。
ホスト識別子
ホスト識別子(hostid
)は、ターゲット・システムを示す文字列です。 hostid
文字列の構文は、URIの構文に対応しています。
[protocol
:
][[//
]hostname][:
port][/
servername]
- protocol
- 通信プロトコルです。 protocolが省略され、hostnameが指定されていない場合、デフォルトのプロトコルが、プラットフォーム固有の最適化されたローカル・プロトコルになります。 プロトコルが省略され、ホスト名が指定されている場合は、デフォルト・プロトコルは
rmi
になります。 - hostname
- ターゲット・ホストを示すホスト名またはIPアドレス。 hostnameパラメータを省略した場合、ターゲット・ホストはローカル・ホストになります。
- port
- リモート・サーバーと通信するためのデフォルト・ポートです。 hostnameパラメータが省略されているか、protocolパラメータで最適化されたローカル・プロトコルが指定されている場合、portパラメータは無視されます。 そうでなければ、portパラメータの処理は実装によって異なります。 デフォルトの
rmi
プロトコルの場合、portパラメータは、リモート・ホスト上のrmiregistry
のポート番号を示します。 portパラメータが省略され、protocolパラメータでrmi
が指定されている場合、デフォルトのrmiregistry
ポート(1099
)が使用されます。 - servername
- このパラメータの扱いは、実装によって異なります。 最適化されたローカル・プロトコルの場合、このフィールドは無視されます。
rmi
プロトコルの場合、このパラメータは、リモート・ホスト上のRMIリモート・オブジェクトの名前を表す文字列になります。 jstatdコマンド-n
オプションを参照してください。
jpsコマンドの出力形式
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