关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

Linux下使用xargs优雅的kill掉全部相关线程

发布时间:2022-05-16 23:41:46

缘由

什么是xargs

什么是awk

xargs的小案例

awk的小案例

xargs优雅kill掉全部相关线程

缘由

  不知道相信都有这样的体验吧,比如你启动了一个程序或者一个指令,而这个指令会在后台有多条线程,等了半天都没有响应,这时候你很恼火,想kill掉这个任务,但是有很多个线程一个个的杀死,就非常的鸡肋,一次还好,多几次谁受得了啊。




  给大家举个例子,你想要community idea的源码,这时候要是用git去小猫猫上clone下来,你会发现半天没响应…




  这时候你就不想clone,就想取消掉,也就是kill,你用ps查看了一下,有三条线程,于是你就会使用kill -9 PID一个个杀,这三个线程其实还算少,有的可能有十几个线程,那岂不得烦死,所以你xargs就是必要的。




什么是xargs

不用官方的话,大白话来说,就是可以将管道|的参数的数据转换成命令行参数,就是相当于一个过滤器,组合多个命令的一个小工具。

什么是awk

作为linux三剑客之一, 是一种处理文本文件的语言,是一个强大的文本分析工具。

xargs的小案例

echo 打印文件名使用xargs传递给cat作为命令行参数读取文件


注意echo文件并不能直接现实文件的内容的

awk的小案例

使用awk读取ps指令出来的第一行第一个PID


使用|管道将ps的内容传输给第一个awk 'NR==1’表示取第一行,然后将取出的结果给awk 'NF=1’这时候表示取第一列,所以就是输出PID

xargs优雅kill掉全部相关线程

这里需要使用管道陪和awk以及kill


这里以kill掉github相关线程为目标


没有kill前的ps -a线程状态



指令


ps -a | grep github | awk 'NF=1' | xargs kill -9

1



再次查看是否还有github线程,已经没有了


————————————————

版权声明:本文为CSDN博主「芝士味的椒盐」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_45860349/article/details/122962453



/template/Home/Beitongyun/PC/Static