Linux 批量 kill 掉匹配到名字的进程
2022-07-28 本文已影响0人
Gakki0725
作者:Gakki
一键 kill 掉所匹配到的进程
-
在用 linux 查看进程的时候,我们有的时候会发现相同的进程使用了多个 pid。如,要 kill 掉进程信息中匹配到的 nginx 相关的进程。可以使用下列命令:
ps aux | grep nginx |awk '{print $2}' | xargs kill -9
-
解释命令:
-
ps:显示当前进程的状态
- a:显示当前终端机下的所有程序,包括其他用户的程序。
- u:以用户为主的格式来显示程序状况。
- x:显示所有程序,不以终端机来区分。通常与
a
参数一起使用,可列出完整信息。
-
| :
- 语法格式:command1 | command2
- Linux 所提供的管道符 " | " 将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入。连续使用管道意味着第一个命令的输出会作为第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推。
- 分号(;),&&和&,|和||说明与用法
-
grep:查找文件里符合条件的字符串。
-
-
awk:一种文本处理工具
-
$2:表示第二列(域)
-
print $2:打印第二列(域)
-
awk '{print $2}' :一行一行的读取指定的文件,以空格或 TAB 作为分隔符,打印第二列(域)
-
例子:查看 score.txt 文件,通过
awk 使用awk
打印出第二列
- 我们这里通过命令:
ps aux | grep nginx |awk '{print $2}'
打印出 nginx 的pid。
pid
- 我们这里通过命令:
-
xargs:捕获一个命令的输出,然后传递给另外一个命令。即将管道传递过来的每一个 PID 作为 kill -9 的参数。
-
kill:向进程发送信号
- -9(KILL):表示无条件退出,但由进程自行决定是否退出。
- 注:这就是为什么 kill -9 终止不了系统进程和守护进程的原因。
-