自动获取Java应用程序名的脚本

说明:记录工作的内容,会介绍一下脚本思路,具体使用应该根据实际情况进行调整。脚本不用华丽,能解决问题就好。

场景:一台服务器上部署了多个java应用。本场景是有用wrapper封装的应用,也有用jar启动的应用。

#获取wrapper封装的程序
echo "*********************************"
echo "wrapper 封装的程序"

#获取的是父进程的列表,正常启动的java应用程序的父进程id应该是1,非1的父进程id说明就是#wrapper封装过的
ppid_list=`ps -ef |grep java | grep -v grep |awk '{print $3}'`
for ppid in $ppid_list
do
    if [[ $ppid != 1 ]]; then

        #grep -w 匹配的是单词,要完全一致才能有值
        jar_dir=`ps aux |grep -v grep |grep -w " $ppid"|awk '{print $11}'|awk -F "/bin/" '{print $1}'`
        echo $jar_dir
    fi
done

#获取-jar启动的应用程序
echo "*********************************"
echo "-jar 启动的程序"

#sed要加属性-r,代表使用扩展正则,只有扩展正则才能使用组(),通过\1取到值
ps -ef |grep "\-jar" |grep -Ev 'grep|sed' |sed -r "s/.*\ -jar\ (.*)\.jar.*/\1/g"

windows和unix编码问题解决:

删除脚本中所有中文

进入linux环境后,使用vim jiaoben.sh

:set fileformat=unix  或者 :set ff=unix 然后 :wq保存

查看编码信息:   cat -A jiaoben.sh

输出:

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值