批量关闭linux进程

 

作者:WingPig
出处:http://WingPig.cnblogs.com/
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。

 
你是否经常遇到需要批量杀死很多进程的情况?而你是否还在一个一个的kill
接下来我教你一个小秘诀吧。
1、首先我们查看当前的进程列表。
我们以查看nginx进程为例,通过

ps -ef

显示当前机器运行的所有进程,
再通过grep nginx过滤出包含nginx字符串的进程。完成命令为

ps -ef|grep nginx


2、获取进程ID
采用awk工具提取进程ID。awk是一种很棒的语言,适合文本处理和报表生成。在这里我们通过awk处理第一步中得到的进程列表,提取进程ID。完成命令为

ps -ef|grep nginx|awk '{print $2}'


3、批量kill
xargs 是一条 Unix 和类 Unix 操作系统的常用命令;它的作用是将参数列表转换成小块分段传递给其他命令,以避免参数列表过长的问题。接下来将使用xargs把第二步中得到的进程ID列表传递给kill命令。完成命令为

ps -ef|grep nginx|awk '{print $2}'|xargs kill -9


OK。大功告成,现在可以批量kill进程了。