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

去公司面试的时候关于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

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

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

ps -ef|grep ./amplxe-gui|grep -v grep|cut -c 9-15|xargs kill -9 批量杀死包含关键字"./amplxe"的进程. "ps -ef" --查看所有进程 "grep ./amplxe-gui" --列出所有含有关键字"./amplxe-gui"的进程 "grep -v grep" --在列出的进程中去除含有关键字"grep"的进程

Linux下批量杀掉包含某个关键字的程序进程

有时候因为一些特殊情况,需要把 linux 下符合某一项条件的所有进程 kill 掉,又不能用 killall 直接杀掉某一进程名称包含的所有运行中进程(我们可能只需要杀掉其中的某一类或运行指定参数命令的进程),这个时候我们需要运用 ps, grep, cut 和 kill 一起操作. ok,下面给出具体的参考: ps -ef|grep LOCAL=NO|grep -v grep|cut -c 9-15|xargs kill -9 运行这条命令将会杀掉所有含有关键字”LOCAL=NO”的进程,是

linux命令(10)使用kill杀死含有指定关键字的进程

命令:ps -ef|grep keyword|grep -v grep|cut -c 9-15|xargs kill -9 批量杀死包含关键字“keyword”的进程. "ps -ef" ——查看所有进程 "grep keyword" ——列出所有含有关键字"./amplxe-gui"的进程 "grep -v grep" ——在列出的进程中去除含有关键字"grep"的进程(因为我们在前一步生成的grep进程

如何在 Linux 中批量移动、复制、追加和重命名文件

你可能已经知道,我们使用 mv 命令在类 Unix 操作系统中重命名或者移动文件和目录. 但是,mv 命令不支持一次重命名多个文件. 不用担心. 在本教程中,我们将学习使用 Linux 中的 mmv 命令一次重命名多个文件. 此命令用于在类 Unix 操作系统中使用标准通配符批量移动.复制.追加和重命名文件. 在 Linux 中一次重命名多个文件 mmv 程序可在基于 Debian 的系统的默认仓库中使用. 要想在 Debian.Ubuntu.Linux Mint 上安装它,请运行以下命令: $

linux中批量替换文本中字符串--转载

(一)通过vi编辑器来替换.vi/vim 中可以使用 :s 命令来替换字符串.:s/well/good/ 替换当前行第一个 well 为 good:s/well/good/g 替换当前行所有 well 为 good:n,$s/well/good/ 替换第 n 行开始到最后一行中每一行的第一个 well 为 good:n,$s/well/good/g 替换第 n 行开始到最后一行中每一行所有 well 为 goodn 为数字,若 n 为 .,表示从当前行开始到最后一行:%s/well/good/(

Linux中批量修改文件名

有时候我们有一个目录下面的文件名都需要重新命令 如: 以下有十个学生完成的脚本,现在需要将finish改为ing [[email protected] test]# touch student_{01..10}_finish.sh [[email protected] test]# ls student_* student_01_finish.sh  student_03_finish.sh  student_05_f student_02_finish.sh  student_04_finis

linux中批量删除带空格的文件

两种批量删除带空格文件的方式: 第一种用find找到需要删除的文件,-print0指将空格替换成Null;而xargs中的-0参数又将null转换成空格 find . -name "xfsf*" -print0 | xargs -0 rm -rf 第二种用ls查找需要删除的文件,xargs中的-i参数指将每一项的名称替换成{} ls . |grep -i "xxx*" | xargs -i rm -rf {} 单独删除时用\将空格转义 原文地址:https://ww

Linux中批量添加文件和修改文件小笔记

1.#使用通配符批量创建5个文件 $ touch file{1..10}.txt 2.#批量修改这五个后缀名为.txt的文本文件名重命名为.c后缀名结尾的文件 $ rename 's/\.txt/\.c/' *.txt 3.批量就爱那个这五个文件的文件名改为大写 $ rename 'y/a-z/A-Z/' *.c

linux中批量创文件夹的方法

1,命令方法touch 456{1,2,3,4,5} 会在目录中生成(4561,4562,4563,4564,4565)五个目录文件mkdir 456{1,2,3,4,5} 会在目录中生成(4561,4562,4563,4564,4565)五个文件夹2,shell脚本例如: mycomm.sh#!/bin/bashvar1=1while test $var1 -1e $2domkdir $1$var1var1=expr $var1 + 1done运行时输入:mycomm.sh user 1000