#!/bin/bash
#cd "$(dirname $0)"
#BIN_DIR="$(pwd)"
#cd "$(dirname ${BIN_DIR})"
if [ $# -ne 1 ];then
echo "parameter must be one."
exit 0
fi
PID_ARR=($(ps -ef | grep $1 | awk '{if($8 ~/jdk1.8.0/){print $2;}}'))
lenth=${#PID_ARR[@]}
echo "sonarPid lenth: $lenth"
if [ $lenth -eq 0 ];then
echo "no sonar process."
exit 0
fi
for((i=0;i<$lenth;i++))
do
temArr=${PID_ARR[i]}
echo $temArr
jstack $temArr
done
awk { if ( $ 列号 ~/ ********/) {pirnt $列号 }} 这个最为关键。 是 筛选 *******
本文介绍了一个使用Shell脚本来监控指定进程的方法。该脚本能够检查特定进程是否存在,并通过jstack工具进一步获取进程堆栈信息。对于Java应用监控特别有用,特别是当需要关注运行在JDK 1.8.0上的sonar进程时。

被折叠的 条评论
为什么被折叠?



