This (where 3757 is the PID) prints the classpath:
jrcmd 3757 print_properties | grep java.class.path
java.class.path=entry1:entry2:....
Here is a script to check the integrity of the classpath:
pid=$1 entries=`jrcmd ${pid} print_properties | grep java.class.path | awk -F'=' '{print $2}' | tr ':' '\n'` entriesList=(${entries}) for i in `seq 0 $((${#entriesList[@]}-1))`; do entry=${entriesList[$i]} if [ -f ${entry} ] then echo "FILE ${entry} exists" else if [ -d ${entry} ] then echo "DIRECTORY ${entry} exists" else echo "NONEXISTING ${entry}" fi fi done
or if running Sun, use
jinfo -sysprops ${pid} | grep java.class.path | awk -F'=' '{print $2}'
If you have problems executing jrcmd $pid print_properties - for instance some security restrictions, you can try this:
allcps=`ps -ef | grep weblogic | tr ' ' '\n' | grep java.class.path | awk -F'=' '{print $2}'` #here we have many lines, each with a classpath allcpsList=(${allcps}) for j in `seq 0 $((${#allcpsList[@]}-1))`; do line=(${allcpsList[$j]}) entriesList=`echo $line | tr ':' '\n'` entriesListSplit=(${entriesList}) for i in `seq 0 $((${#entriesListSplit[@]}-1))`; do entry=${entriesListSplit[$i]} if [ -f ${entry} ] then echo "FILE ${entry} exists" else if [ -d ${entry} ] then echo "DIRECTORY ${entry} exists" else echo "NONEXISTING ${entry}" fi fi done done
running the script followed by | sort | more gives interesting results
No comments:
Post a Comment