Como descobrir qual JRE está sendo usado?

4

Eu tenho um Java .jar em execução no meu sistema. Como posso saber qual JRE está sendo usado por esse .jar? Eu tenho vários JREs em vários locais.

O comando which java produz

/usr/bin/java

$JAVA_HOME está definido como /usr/java/jdk-1.6.0

ps -ef produz

\xyzusr     5206     1  0 02:10 ?        00:00:00 ScrapJAR -p -u 2694 -g 15464 -- java -server -XX:+AggressiveHeap -Xms2048m -Xmx2048m -Xss512k
    
por Vishwanath gowda k 31.10.2014 / 05:37

1 resposta

6

O método mais fácil é usar a ferramenta de linha de comando lsof e sua opção -p para que você possa listar quais arquivos estão sendo usados por esse processo específico.

$ sudo lsof -p 5206 | grep jre

Exemplo

Aqui está o meu processo do Chrome apenas para lhe dar uma ideia de como é o resultado.

$ 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
    
por 31.10.2014 / 06:01

Tags