#!/bin/bash
#查询服务器下指定Java应用的进程号,并kill该进程
# 通过命令行killService.sh mockStrategyCenter mockStrategyCenter表示的jar包名称
#创建一个需要的目标目录
#source /etc/profile 用来刷新环境变量(在ssh远程执行时使用non-login shell的环境只加载了部分配置文件,需要手动加载)
source /etc/profile
target_service=$1
echo $target_service 是需要杀掉的进程
#判断该进程是否存在(统计命令 ps axu | grep mockStrategyCenter-0.0.1-SNAPSHOT |grep java| awk '{print $2}' 结果个数是否大于0,大于0则表示有进程,否则表示原本就没有启动)
# 在bash中,$( )与` `(反引号)都是用来作命令替换的。命令替换与变量替换差不多,都是用来重组命令行的,先完成引号里的命令行,然后将其结果替换出来,再重组成新的命令行
#命令中加了 包名$target_service ,java关键字,确保只筛选出了Java类型的该应用
processId=$(ps axu | grep $target_service | grep java | awk '{print $2}')
echo '删除对应服务进程'${processId}
if [[ ${processId} -gt 0 ]]
then
#kill 掉第一个数组元素对应的进程
kill -9 ${processId}
echo '服务进程删除成功'
else
echo '对应服务不存在进程'
fi
查询服务器下指定Java应用的进程号,并kill该进程
最新推荐文章于 2023-01-06 15:55:16 发布