Linux xargs kill进程 交叉查询方式

 更新时间:2023年06月12日 09:08:28   作者:IT小海豚  
这篇文章主要介绍了Linux xargs kill进程 交叉查询方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Linux xargs kill进程 交叉查询

ps aux | grep ntopng |grep -v grep |cut -c 10-14 |xargs kill -9

  • grep ntopng :kill掉进程中有ntopng字段
  • grep -v grep :过滤掉grep 字段
  • cut -c 10-14:进程列表中10-14 是进程id位置
  • xargs kill -9 : xargs 命令是用来把前面命令的输出结果(PID)作为"kill -9"命令的参数,并执行该命令。"kill -9"会强行杀掉指定进程。

ps -ef | grep ftpd | grep -v grep | wc -l

  • "ps -ef " 是linux里查看所有进程的命令
  • "grep ftpd " 的输出结果是,找到含有ftpd的进程
  • "grep -v grep"是在列出的进程中去除含有关键字"grep"的进程
  • "wc -l" 统计输出总共多少行

Linux常用命令:xargs,批量杀死进程

有一天,后台的一个定时脚本异常了,由于网络原因导致超时,而且每分钟一个进程。

ps aux | grep main.py 看了所有的进程,试图手动kill掉,可是几十个进程手动kill得累趴去。

root@ubuntu:/home/fage/Desktop/linux-perf-examples/nginx-high-cpu# ps aux | grep main.py
root      13110  0.0  0.3  32636  6664 pts/0    S    23:17   0:00 python main.py
root      13115  0.0  0.3  32636  6632 pts/0    S    23:17   0:00 python main.py
root      13116  0.0  0.3  32636  6572 pts/0    S    23:17   0:00 python main.py
root      13117  0.0  0.3  32636  6652 pts/0    S    23:17   0:00 python main.py
root      13118  0.0  0.3  32636  6592 pts/0    S    23:17   0:00 python main.py
root      13119  0.0  0.3  32636  6552 pts/0    S    23:17   0:00 python main.py
root      13120  0.0  0.3  32636  6484 pts/0    S    23:18   0:00 python main.py
root      13121  0.0  0.3  32636  6696 pts/0    S    23:18   0:00 python main.py
root      13122  0.0  0.3  32636  6424 pts/0    S    23:18   0:00 python main.py
root      13123  0.0  0.3  32636  6480 pts/0    S    23:18   0:00 python main.py
root      13124  0.0  0.3  32636  6584 pts/0    S    23:18   0:00 python main.py
root      13125  0.0  0.3  32636  6592 pts/0    S    23:18   0:00 python main.py
root      13126  0.0  0.3  32636  6520 pts/0    S    23:18   0:00 python main.py

这时我们的主角就要登场了

ps axu | grep main.py | awk '{print $2;}' | xargs kill -9

xargs 是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。

xargs 默认的命令是 echo,这意味着通过管道传递给 xargs 的输入将会包含换行和空白,不过通过 xargs 的处理,换行和空白将被空格取代。

如:

root@ubuntu:/home/fage/Desktop# cat test.txt 
lkjafd
askfj
asdfj asdj asjf
asdfj asj sldfj 
adfklj asdjklasjf asfj
root@ubuntu:/home/fage/Desktop# cat test.txt | xargs
lkjafd askfj asdfj asdj asjf asdfj asj sldfj adfklj asdjklasjf asfj

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

最新评论