どのJREが使用されているかを確認するには?

どのJREが使用されているかを確認するには?

私のシステムでJava .jarが実行されています。この.jarがどのJREを使用しているのかどうかはどうすればわかりますか?複数の場所に複数のJREがあります。

このwhich javaコマンドは

/usr/bin/java

$JAVA_HOMEに設定されています/usr/java/jdk-1.6.0

ps -ef生産する

\xyzusr     5206     1  0 02:10 ?        00:00:00 ScrapJAR -p -u 2694 -g 15464 -- java -server -XX:+AggressiveHeap -Xms2048m -Xmx2048m -Xss512k

答え1

最も簡単な方法は、コマンドラインツールlsofとその-pスイッチを使用して特定のプロセスで使用されているファイルを一覧表示することです。

$ sudo lsof -p 5206 | grep jre

はい

以下は、出力結果がどのように見えるかを知らせるためのChromeプロセスです。

$ sudo lsof -p 1376 | head -10
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
      Output information may be incomplete.
COMMAND  PID USER   FD      TYPE             DEVICE  SIZE/OFF      NODE NAME
chrome  1376 saml  cwd       DIR                0,3         0  46546425 /proc/10802/fdinfo
chrome  1376 saml  rtd       DIR                0,3         0  46546425 /proc/10802/fdinfo
chrome  1376 saml  txt       REG              253,1  93187864   1837056 /opt/google/chrome/chrome
chrome  1376 saml  DEL       REG               0,17            46544680 /dev/shm/.com.google.Chrome.1ciABr
chrome  1376 saml  DEL       REG               0,17           127971521 /dev/shm/.com.google.Chrome.t7ByaK
chrome  1376 saml  mem       REG              253,1   3334400   1837130 /opt/google/chrome/lib/libpeerconnection.so
chrome  1376 saml  mem       REG              253,1  17313408   1835692 /opt/google/chrome/PepperFlash/libpepflashplayer.so
chrome  1376 saml  mem       REG              253,1   6842800   1837141 /opt/google/chrome/libwidevinecdm.so
chrome  1376 saml  mem       REG              253,1    780024    559781 /usr/lib64/libsqlite3.so.0.8.6

関連情報