shell实现查询进程号并批量kill(脚本)

问题或需求

在shell中,如果你想通过命令行查询出一系列匹配某个关键词的进程,并使用xargs命令批量结束这些进程,可以按照以下步骤操作:

bash 复制代码
# 查询并提取进程号
pgrep -f "关键词" | xargs kill

# 或者,如果你想使用更强力的kill指令(比如kill -9,即SIGKILL信号,立即结束进程)
pgrep -f "关键词" | xargs kill -9

# 如果你想通过进程名而非命令行参数来查找进程,可以去掉-f标志
pgrep "进程名" | xargs kill -9

# 如果你要更精确地匹配进程,避免误杀包含关键词的子进程,可以结合grep和awk一起使用,例如:
ps -ef | grep '关键词' | grep -v grep | awk '{print $2}' | xargs kill -9

这里的关键词是你想要匹配的进程的部分或全部名字,pgrep命令可以根据进程名或命令行参数来查找进程。

实例演示

本地有3个ES的进程,由于是java进程我们直接使用jps查询就可以。

如现有3个进程:

shell 复制代码
jps
51056 org.elasticsearch.bootstrap.Elasticsearch
49269 org.elasticsearch.bootstrap.Elasticsearch
52633 Jps
49692 org.elasticsearch.bootstrap.Elasticsearch

执行批量关闭:

shell 复制代码
jps | grep org.elasticsearch.bootstrap.Elasticsearch | awk  '{print $1}' | xargs kill -SIGTERM

成功关闭。

相关推荐
Kuo-Teng3 分钟前
LeetCode 198: House Robber
java·算法·leetcode·职场和发展·动态规划
hakukun12 分钟前
Ubuntu启动时volume报错无法进入系统问题解决
linux·ubuntu
小七mod18 分钟前
【Spring】Spring Boot自动配置的案例
java·spring boot·spring·自动配置·源码·ioc·aop
红石榴花生油27 分钟前
Docker + Nginx 部署 Java 项目(JAR 包 + WAR 包)实战笔记
java·tomcat·maven
带刺的坐椅30 分钟前
Solon AI 开发学习 - 1导引
java·ai·openai·solon·mcp
sg_knight32 分钟前
RabbitMQ 中的预取值(prefetch)详解:如何真正提升消费端性能?
java·spring boot·spring·spring cloud·消息队列·rabbitmq·预取值
qq_4017004137 分钟前
Linux磁盘配置与管理
linux·运维·服务器
恒创科技HK39 分钟前
香港大带宽服务器能降低ping值吗 ?
运维·服务器
Dxxyyyy41 分钟前
零基础学JAVA--Day34(Map接口+HashTable+HashMap+TreeSet+TreeMap+开发中如何选择集合实现类?(重要))
java·开发语言
爱代码的小黄人1 小时前
华硕主板BIOS设置台式机电脑“Restore AC Power Loss”(断电后恢复状态)设置
运维·服务器·电脑