我在我的系统中运行了一个Java .jar.我怎么知道那个.jar正在使用哪个JRE?我在多个位置有多个JRE.
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
解决方法:
最简单的方法是使用命令行工具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
标签:java,jdk
来源: https://codeday.me/bug/20190813/1645526.html