jps(1)

名前
jps - Java仮想マシン・プロセス・ステータス・ツール

    o   形式

    o   パラメータ

    o   説明

    o   オプション

    o   ホスト識別子

    o   出力形式

    o   例

    o   関連項目

形式

jps [ options ] [ hostid ]

パラメータ

    options
        コマンドライン・オプション。

    hostid
        プロセス・レポートを生成するホストのホスト識別子。hostidには、通信プロトコル、ポート番号、実装に固有な他のデータを指定したオプション・コンポーネントを含めることができます。

説明

jpsツールは、ターゲット・システム上で計測されたHotSpot Java仮想マシン(JVM)を一覧表示します。このツールで表示できるレポート情報は、アクセス権を持った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のみを一覧表示します。

注意: このユーティリティはサポート対象外であり、将来のJDKのバージョンでは利用できなくなる可能性があります。現在、Windows 98およびWindows MEプラットフォームでは使用できません。

オプション

jpsコマンドでは、コマンドの出力を変更するオプションが多数サポートされています。将来、これらのオプションは、変更または廃止される可能性があります。

    -q  クラス名、JARファイル名、およびmainメソッドに渡された引数の出力を抑制し、ローカルVM識別子の一覧のみを生成します。

    -m  mainメソッドに渡される引数を出力します。この出力は、組み込まれているJVMに対してnullになることもあります。

    -l  アプリケーションのメイン・クラスのフル・パッケージ名、またはアプリケーションのJARファイルへのフルパス名を出力します。

    -v  JVMに渡される引数を出力します。

    -V  フラグ・ファイル(.hotspotrcファイルまたは-XX:Flags=<filename>の引数で指定されたファイル)を通じてJVMに渡される引数を出力します。

    -Joption
        jpsが呼び出すjava起動ツールに、optionを渡します。たとえば、-J-Xms48mと指定すると、スタートアップ・メモリーは48Mバイトに設定されます。-Jを使用して、Javaで記述されたアプリケーションを実行する背後のVMにオプションを渡すことは、よく行われています。

  ホスト識別子

ホスト識別子、つまりhostidは、ターゲット・システムを示す文字列です。hostid文字列の構文の大部分は、URIの構文に対応しています。

[protocol:][[//]hostname][:port][/servername]

    protocol
        通信プロトコルです。protocolが省略され、hostnameが指定されていない場合、デフォルトのプロトコルが、プラットフォーム固有の最適化されたローカル・プロトコルになります。protocolが省略され、hostnameが指定されている場合は、デフォルト・プロトコルはrmiになります。

    hostname
        ターゲット・ホストを示すホスト名またはIPアドレスです。hostnameが省略されている場合は、ターゲット・ホストはローカル・ホストになります。

    port
        リモート・サーバーと通信するためのデフォルト・ポートです。hostnameが省略されているか、最適化されたローカル・プロトコルがprotocolに指定されている場合、portは無視されます。それ以外の場合、portパラメータの扱いは、実装によって異なります。デフォルトのrmiプロトコルの場合、portは、リモート・ホスト上のrmiregistryのポート番号を示します。portが省略され、protocolでrmiが指定されている場合、デフォルトのrmiregistryポート(1099)が使用されます。

    servername
        このパラメータの扱いは、実装によって異なります。最適化されたローカル・プロトコルの場合、このフィールドは無視されます。rmiプロトコルの場合、このパラメータは、リモート・ホスト上のRMIリモート・オブジェクトの名前を示す文字列になります。jstatd(1)コマンドの-nオプションを参照してください。

出力形式

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

関連項目

    o   java(1) - Javaアプリケーション起動ツール

    o   jstat(1) - Java仮想マシン統計データ監視ツール

    o   jstatd(1) - jstatデーモン

    o   rmiregistry(1) - Javaリモート・オブジェクト・レジストリ