Linux中批量杀进程的方法

之前的文章中(Linux卸载分区时提示:device is busy 的处理方法_花生君的博客-CSDN博客)有提到批量杀进程,特此提供两种批量杀进程的解决思路。

一、使用awk批量杀进程的命令
ps -ef |grep hello |grep -v grep |awk '{print "kill -9 "$2}' | sh


说明:
ps -ef |grep hello |grep -v grep       # 列出了当前主机中运行的进程中包含hello关键字的进程
ps -ef |grep hello |grep -v grep |awk '{print "kill -9 "$2}'   # 列出了要kill掉这些进程的命令,并将之打印在了屏幕上
ps -ef |grep hello |grep -v grep |awk '{print "kill -9 "$2}' | sh   # 后面加上 |sh 后,则表示执行这些命令,进而杀掉了这些进程


二、grep和kill联合使用杀掉进程
ps -ef |grep hello |awk '{print $2}'|xargs kill -9

xargs 的作用是将参数列表转换成小块分段传递给其他命令,以避免参数列表过长的问题。可单独使用,也可使用管道符、重定位符等与其他命令配合使用。

此处,xargs的作用就是将ps -ef |grep hello |awk '{print $2}' 得到的结果(一个或者多个),传给kill命令使用。

PS:第二种方法和第一种方法类似,只是shell脚本编写有些区别。

你可能感兴趣的:(经验分享,linux,服务器,运维)