2011-12-05 12 views
0

私はシステムの仕組みを理解しようとしています。私が 'ps -A'を実行すると、いくつかのJavaプロセスが表示されます。 javaインスタンスを調べ、すべてのjarまたはクラスがそのインスタンスからロードされていることを(できればインスタンスを停止することなく)知らせるコマンドが実行される方法はありますか?クラスがロードされているjavaのインスタンスを特定する方法

+2

おそらく、visualvm/etcを使用してプロセスにアタッチすることをお勧めします。 –

答えて

3

jconsoleまたはvisualvmを使用して、実行中のJVMの詳細を取得できます。これらは、Linuxを使用している場合はxwindowsが必要です。

さらに、jps -vは、JVMを起動するために使用されたコマンドライン引数が何であるかを知らせます。そこから、クラスパスのどこでjarが使われているのかを知ることができます。

3

あなたがお問い合わせしていることを行うには、VisualVMなどのJava固有のツールを使用する必要があります。

0
ps -Af 

プロセスの起動に使用されたコマンドが表示されます。しかし、呼び出されたJARファイルがどのライブラリをロードしたかを正確に伝えることはできません(クラスパスを取得して推論を行うことはおそらく可能です)。

詳細については、JVMを問い合わせるツールが必要です。

0

Webアプリケーションまたはエンタープライズ(EAR)アプリケーションを実行しているJavaアプリケーションサーバーの場合、使用されたすべてのjarをコマンドラインから推論することはできません。しかし、 lsof java processを使用しているすべてのファイルを一覧表示するコマンド。そしてそれらからjarをフィルタリングします。

関連する問題