去公司面试的时候关于Linux命令一般会问这个问题:
批量杀死包含php的所有进程。。。。。。
一开始我是不会的,只知道ps找出来进程。后来知道了可以用grep过滤出包含Php的进程,后来又知道了用kill -9 可以杀死,后来又知道了用xargs 可以进行参数代换,所以记录一下。
ps -aux | grep "php" | grep -v grep | cut -c 9-15 | xargs kill -9
分成5段,利用管道命令传递。
第一段是列出所有的进程;
第二段是过滤出包含关键字php的进程;
第三段是过滤吊grep命令;因为你执行grep过滤命令是本身也是包含php关键字的。
第四段其实就是找出包含关键字php的进程的pid,找到了pid我们才好杀死他;这里除了cut,还可以用
ps -aux | grep "php" | grep -v grep | awk ‘{$2}‘ | xargs kill -9
awk 过滤出pid,因为pid是第二个字段。
第五段就是用xargs 将前面的命令结果即pid传递给kill命令。
第二个面试点:找出文件内容包含某个关键字的所有文件
grep -rn "php" .
下面应该也可以
find -type f -name "*.php" | xargs grep "php"
记录一下。百度面试,好未来面试问到了这个命令。
时间: 2024-10-08 16:53:23