名前
jps - ターゲット・システムのインストゥルメントされたJVMをリスト
シノプシス
ノート: このコマンドは実験的なものであり、サポートされていません。
jps
[-q
] [-mlvV
] [hostid]
jps
[-help
]
オプション
-q
-
main
メソッドに渡されるクラス名、JARファイル名および引数の出力を抑制し、ローカルJVM識別子のみのリストを生成します。 -mlvV
-
これらのオプションは任意の組合せで指定できます。
-m
は、main
メソッドに渡される引数を表示します。 この出力は、組み込まれているJVMに対してnull
になることもあります。-l
は、アプリケーションのmain
クラスまたはアプリケーションのJARファイルへのフルパス名の完全なパッケージ名を表示します。-v
は、JVMに渡された引数を表示します。-V
は、main
メソッドに渡されるクラス名、JARファイル名および引数の出力を抑制し、ローカル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パラメータが省略されている場合は、ターゲット・ホストはローカル・ホストになります。
- ポート
-
リモート・サーバーと通信するためのデフォルト・ポートです。 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
)のリモート・ホストで実行されていることを前提としています。 また、ローカル・ホストが、リモート・ホストへの有効なアクセス権を持っていることも想定しています。 この例では、クラス名またはJARファイル名の長い形式を出力する-l
オプションが含まれています。
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