加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 仅杀死特定Java jar的进程(实例)

发布时间:2020-12-13 23:28:04 所属栏目:Linux 来源:网络整理
导读:我需要创建自动脚本,它会杀死特定 Java JAR的运行进程. 我像这样手动完成: jps -v6753 Jps4573 myJarToKill.jar4574 notMyJarToKill.jar4576 myJarToKill.jar 我根据JAR名称选择特定进程,例如myJarToKill.jar并运行以杀死它们. kill 4573 4576 是否有可能通
我需要创建自动脚本,它会杀死特定 Java JAR的运行进程.

我像这样手动完成:

jps -v

6753 Jps
4573 myJarToKill.jar
4574 notMyJarToKill.jar
4576 myJarToKill.jar

我根据JAR名称选择特定进程,例如myJarToKill.jar并运行以杀死它们.

kill 4573 4576

是否有可能通过这样的grep或sth获得这些进程的数量?通过它来杀死命令?

解决方法

要使用的命令是grep,awk和xargs unix命令的组合:

jps -v | grep "<your file name>" | grep -v "<if you need to exclude other output>" |awk '{print $<field number>}'|xargs kill -<kill signal>

在执行之前,请阅读以下说明:

首先运行这个:
????jps -v | grep“myJarToKill.jar”| awk'{print $1}’

Note:
$2 means that the ps output is splitted in space separated field.
So when you run the command for the first time please check that awk '{print $2}' output is the expected result otherwise you should change the field number $2 with the ones that you need.

如果“notMyJarToKill.jar”仍然存在,请添加:

jps -v  | grep "myJarToKill.jar" | grep -v "notMyJarToKill.jar"| awk '{print $1}'

然后,如果输出结果包含您要杀死的pid,则可以运行此命令

jps -v  | grep "myJarToKill.jar" | awk '{print $1}'|xargs kill -9

Note: you could also use kill -TERM it’s depend by your needs.

问候克劳迪奥

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读