linux 打印相关 应用的进程,根据筛选条件 获取进程id 执行jstack 指令

本文介绍了一个使用Shell脚本来监控指定进程的方法。该脚本能够检查特定进程是否存在,并通过jstack工具进一步获取进程堆栈信息。对于Java应用监控特别有用,特别是当需要关注运行在JDK 1.8.0上的sonar进程时。
#!/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 $列号 }}  这个最为关键。  是 筛选 *******

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值