내 시스템에서 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