@@ -39,19 +39,12 @@ START()
3939 fi
4040
4141 # try to find $JAVA_HOME if not set
42- if [[ -z ${JAVA_HOME} || ! -d ${JAVA_HOME} ]]; then
43- JAVA_HOME_CANDIDATES=$( ps aux \
44- | grep java \
45- | awk ' {print $11}' \
46- | sed -n ' s/\/bin\/java$//p' )
47- for JAVA_HOME_TEMP in ${JAVA_HOME_CANDIDATES[@]} ; do
48- if [ -f ${JAVA_HOME_TEMP} /lib/tools.jar ]; then
49- JAVA_HOME=${JAVA_HOME_TEMP}
50- break
51- fi
52- done
42+ if [ -z " $JAVA_HOME " ] ; then
43+ JAVA_HOME=` readlink -f \` which java 2> /dev/null\` 2> /dev/null | \
44+ sed ' s/\jre\/bin\/java//' | sed ' s/\/bin\/java//' `
5345 fi
54- if [ -z ${JAVA_HOME} ]; then
46+
47+ if [ ! -f " $JAVA_HOME /bin/jstack" ] ; then
5548 echo -e " \033[31m\$ JAVA_HOME not found. please export JAVA_HOME manually.\033[0m"
5649 exit -1
5750 fi
@@ -70,8 +63,7 @@ START()
7063 JSTACK_LOG=${LOGDIR} /jstack-${PID} -${DATE} .log
7164 ${JAVA_HOME} /bin/jstack -l $PID > ${JSTACK_LOG}
7265 if [[ $? != 0 ]]; then
73- echo -e " \033[31mprocess jstack error, now exit.\033[0m"
74- exit -1
66+ echo -e " \033[31mprocess jstack error.\033[0m"
7567 fi
7668 echo -e " $( date ' +%Y-%m-%d %H:%M:%S' ) Finish to process jstack."
7769 sleep ${SLEEP_TIME}
@@ -86,8 +78,7 @@ START()
8678 VJTOP_LOG=${LOGDIR} /vjtop-${PID} -${DATE} .log
8779 $VJTOP_SCRIPT -n 1 -d $VJTOP_DURATION $PID > ${VJTOP_LOG}
8880 if [[ $? != 0 ]]; then
89- echo -e " \033[31mprocess vjtop error, now exit.\033[0m"
90- exit -1
81+ echo -e " \033[31mprocess vjtop error.\033[0m"
9182 fi
9283 echo -e " $( date ' +%Y-%m-%d %H:%M:%S' ) Finish to process vjtop."
9384 else
@@ -97,8 +88,7 @@ START()
9788 JINFO_FLAGS_LOG=${LOGDIR} /jinfo-flags-${PID} -${DATE} .log
9889 ${JAVA_HOME} /bin/jinfo -flags $PID 1> ${JINFO_FLAGS_LOG} 2>&1
9990 if [[ $? != 0 ]]; then
100- echo -e " \033[31mprocess jinfo -flags error, now exit.\033[0m"
101- exit -1
91+ echo -e " \033[31mprocess jinfo -flags error.\033[0m"
10292 fi
10393 echo -e " $( date ' +%Y-%m-%d %H:%M:%S' ) Finish to process jinfo -flags."
10494
@@ -107,8 +97,7 @@ START()
10797 JMAP_HEAP_LOG=${LOGDIR} /jmap_heap-${PID} -${DATE} .log
10898 ${JAVA_HOME} /bin/jmap -heap $PID > ${JMAP_HEAP_LOG}
10999 if [[ $? != 0 ]]; then
110- echo -e " \033[31mprocess jmap -heap error, now exit.\033[0m"
111- exit -1
100+ echo -e " \033[31mprocess jmap -heap error.\033[0m"
112101 fi
113102 echo -e " $( date ' +%Y-%m-%d %H:%M:%S' ) Finish to process jmap -heap."
114103 fi
@@ -118,8 +107,7 @@ START()
118107 JMAP_HISTO_LOG=${LOGDIR} /jmap_histo-${PID} -${DATE} .log
119108 ${JAVA_HOME} /bin/jmap -histo $PID > ${JMAP_HISTO_LOG}
120109 if [[ $? != 0 ]]; then
121- echo -e " \033[31mprocess jmap -histo error, now exit.\033[0m"
122- exit -1
110+ echo -e " \033[31mprocess jmap -histo error.\033[0m"
123111 fi
124112 echo -e " $( date ' +%Y-%m-%d %H:%M:%S' ) Finish to process jmap -histo."
125113 sleep ${SLEEP_TIME}
@@ -129,8 +117,7 @@ START()
129117 JMAP_HISTO_LIVE_LOG=${LOGDIR} /jmap_histo_live-${PID} -${DATE} .log
130118 ${JAVA_HOME} /bin/jmap -histo:live $PID > ${JMAP_HISTO_LIVE_LOG}
131119 if [[ $? != 0 ]]; then
132- echo -e " \033[31mprocess jmap -histo:live error, now exit.\033[0m"
133- exit -1
120+ echo -e " \033[31mprocess jmap -histo:live error.\033[0m"
134121 fi
135122 echo -e " $( date ' +%Y-%m-%d %H:%M:%S' ) Finish to process jmap -histo:live."
136123 sleep ${SLEEP_TIME}
@@ -141,8 +128,7 @@ START()
141128 echo -e " $( date ' +%Y-%m-%d %H:%M:%S' ) Begin to process jmap -dump:live."
142129 ${JAVA_HOME} /bin/jmap -dump:live,format=b,file=${JMAP_DUMP_FILE} $PID
143130 if [[ $? != 0 ]]; then
144- echo -e " \033[31mprocess jmap -dump:live error, now exit.\033[0m"
145- exit -1
131+ echo -e " \033[31mprocess jmap -dump:live error.\033[0m"
146132 fi
147133 echo -e " $( date ' +%Y-%m-%d %H:%M:%S' ) Finish to process jmap -dump:live."
148134
@@ -159,8 +145,7 @@ START()
159145 # "\cp" means unalias cp, it can cover files without prompting
160146 \c p -rf $GCLOG ${LOGDIR} /
161147 if [[ $? != 0 ]]; then
162- echo -e " copy gc log error, now exit."
163- exit -1
148+ echo -e " copy gc log error."
164149 fi
165150 fi
166151 echo -e " $( date ' +%Y-%m-%d %H:%M:%S' ) Finish to process gc log."
@@ -174,8 +159,7 @@ START()
174159 ZIP_FILE=${BASEDIR} /vjdump-${PID} -${DATE} .zip
175160 zip -j ${ZIP_FILE} ${LOGDIR} /* .log
176161 if [[ $? != 0 ]]; then
177- echo -e " \033[31mzip files error, exit.\033[0m"
178- exit -1
162+ echo -e " \033[31mzip files error.\033[0m"
179163 else
180164 echo -e " zip files success, the zip file is \033[34m${ZIP_FILE} \033[0m"
181165 fi
@@ -187,8 +171,7 @@ START()
187171 ZIP_FILE_WITH_HEAP_DUMP=${BASEDIR} /vjdump-with-heap-${PID} -${DATE} .zip
188172 zip -j ${ZIP_FILE_WITH_HEAP_DUMP} ${LOGDIR} /* .log ${JMAP_DUMP_FILE}
189173 if [[ $? != 0 ]]; then
190- echo -e " \033[31mzip files which include dump file error, exit.\033[0m"
191- exit -1
174+ echo -e " \033[31mzip files which include dump file error.\033[0m"
192175 else
193176 echo -e " zip files which include dump file success, the zip path is \033[34m${ZIP_FILE_WITH_HEAP_DUMP} \033[0m"
194177 fi
0 commit comments