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

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

Snipaste_2022-04-24_12-29-24.jpg

👨🏻‍🎓博主介绍:大家好,我是芝士味的椒盐,一名在校大学生,热爱分享知识,很高兴在这里认识大家🌟

🌈擅长领域:Java、大数据、运维、电子

🙏🏻如果本文章各位小伙伴们有帮助的话,🍭关注+👍🏻点赞+🗣评论+📦收藏,相应的有空了我也会回访,互助!!!

🤝另本人水平有限,旨在创作简单易懂的文章,在文章描述时如有错,恳请各位大佬指正,在此感谢!!!


缘由

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

什么是xargs

a247b4c9c0ce4a9091bb1c24d844244e.png

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

5786aeb1477f47fe99e49de3b4df2ad0.png

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

a9afff79f2584f78b9f0888303968359.png

什么是xargs

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

什么是awk

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

xargs的小案例

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

8bb5ac5d5c0647218504a66130c88955.png

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

awk的小案例

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

9e9055fb1c9a4181badc0c17adde48a3.png

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

xargs优雅kill掉全部相关线

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

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

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

16f9508e4334464891f2aa84e69ec659.png

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

feefa29f0b38432da6e0e4b7247826c6.png

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

12a9859f72f34e41891817ad8887dd0d.png


相关文章
|
8天前
|
Linux
Linux编程: 在业务线程中注册和处理Linux信号
本文详细介绍了如何在Linux中通过在业务线程中注册和处理信号。我们讨论了信号的基本概念,并通过完整的代码示例展示了在业务线程中注册和处理信号的方法。通过正确地使用信号处理机制,可以提高程序的健壮性和响应能力。希望本文能帮助您更好地理解和应用Linux信号处理,提高开发效率和代码质量。
38 17
|
16天前
|
Linux
Linux编程: 在业务线程中注册和处理Linux信号
通过本文,您可以了解如何在业务线程中注册和处理Linux信号。正确处理信号可以提高程序的健壮性和稳定性。希望这些内容能帮助您更好地理解和应用Linux信号处理机制。
50 26
|
6月前
|
算法 Unix Linux
linux线程调度策略
linux线程调度策略
119 0
|
4月前
|
资源调度 Linux 调度
Linux C/C++之线程基础
这篇文章详细介绍了Linux下C/C++线程的基本概念、创建和管理线程的方法,以及线程同步的各种机制,并通过实例代码展示了线程同步技术的应用。
60 0
Linux C/C++之线程基础
|
5月前
|
存储 Linux Shell
linux查找技巧: find grep xargs
linux查找技巧: find grep xargs
69 13
|
5月前
|
机器学习/深度学习 存储 Linux
linux中强大且常用命令:find、xargs、grep
linux中强大且常用命令:find、xargs、grep
345 9
|
4月前
|
安全 Linux
Linux线程(十一)线程互斥锁-条件变量详解
Linux线程(十一)线程互斥锁-条件变量详解
|
6月前
|
存储 设计模式 NoSQL
Linux线程详解
Linux线程详解
|
6月前
|
缓存 Linux C语言
Linux线程是如何创建的
【8月更文挑战第5天】线程不是一个完全由内核实现的机制,它是由内核态和用户态合作完成的。
|
6月前
|
Linux
在Linux中,如何使用xargs和exec实现把当前目录下所有后缀名为.txt的⽂件的权限修改为777。
在Linux中,如何使用xargs和exec实现把当前目录下所有后缀名为.txt的⽂件的权限修改为777。