之前的文章中(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脚本编写有些区别。
来源地址:https://blog.csdn.net/m0_54701273/article/details/128153514