linux 中批量杀死包含某个关键字的进程

去公司面试的时候关于Linux命令一般会问这个问题:

批量杀死包含php的所有进程。。。。。。

一开始我是不会的,只知道ps找出来进程。后来知道了可以用grep过滤出包含Php的进程,后来又知道了用kill -9 可以杀死,后来又知道了用xargs 可以进行参数代换,所以记录一下。

1
ps -aux | grep "php" grep -v grep cut -c 9-15 | xargs kill -9

 

分成5段,利用管道命令传递。

第一段是列出所有的进程;

第二段是过滤出包含关键字php的进程;

第三段是过滤吊grep命令;因为你执行grep过滤命令是本身也是包含php关键字的。

第四段其实就是找出包含关键字php的进程的pid,找到了pid我们才好杀死他;这里除了cut,还可以用

1
ps -aux | grep "php" grep -v grep awk '{$2}' xargs kill -9

awk 过滤出pid,因为pid是第二个字段。

第五段就是用xargs 将前面的命令结果即pid传递给kill命令。


第二个面试点:找出文件内容包含某个关键字的所有文件

1
grep -rn "php" .

下面应该也可以

1
find -type f -name "*.php" xargs grep "php"




记录一下。百度面试,好未来面试问到了这个命令。



本文转自 努力的C 51CTO博客,原文链接:http://blog.51cto.com/fulin0532/1956711

上一篇:python进阶六_封装与继承(一)


下一篇:Android项目实战(十五):自定义不可滑动的ListView和GridView