案例1:
linux下批量杀死进程(使用了xargs)_zy12805的博客-CSDN博客_kill xargs
ps -aux | grep ping6 | cut -c 9-15 | xargs kill -9
这条命令用了管道的方式,|左边的输出作为右边的输入。
ps -aux 列出进程
grep ping6是找出上一步输出的进程中包含ping6的进程
cut -c 9-15是截取上面输出的结果中的进程号,9-15正好是进程号
xargs命令可以通过管道接受字符串,并将接收到的字符串通过空格分割成许多参数(默认情况下是通过空格分割) 然后将参数传递给其后面的命令,作为后面命令的命令行参数。
kill和rm这样的命令是不会处理管道等过来的标准输入的。所以用xargs。
案例2:
Linux指令:批量kill掉所有匹配到名字的进程 - sbj123456789 - 博客园
ps -ef | grep python | awk '{print $2}' | xargs kill -9
ps -ef | grep python 找出 python 进程,进程一行一行的,每隔字段是空格分开的,第二个为进程号
awk '{print $2}' 取每一行的第二个字段,默认以空格分割,Linux awk 命令 | 菜鸟教程
xargs 将标准输入数据转换成命令行参数,xargs能够处理管道或者stdin并将其转换成特定命令的命令参数。也就是将管道传递过来的每一个 PID 作为 kill -9 的参数