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

举报
芝士味的椒盐 发表于 2022/04/18 21:27:58 2022/04/18
【摘要】 👨🏻‍🎓博主介绍:大家好,我是芝士味的椒盐,一名在校大学生,热爱分享知识,很高兴在这里认识大家🌟🌈擅长领域:Java、大数据、运维、电子🙏🏻如果本文章各位小伙伴们有帮助的话,🍭关注+👍🏻点赞+🗣评论+📦收藏,相应的有空了我也会回访,互助!!!🤝另本人水平有限,旨在创作简单易懂的文章,在文章描述时如有错,恳请各位大佬指正,在此感谢!!!@[TOC] 缘由  不知道相...

在这里插入图片描述

👨🏻‍🎓博主介绍:大家好,我是芝士味的椒盐,一名在校大学生,热爱分享知识,很高兴在这里认识大家🌟
🌈擅长领域:Java、大数据、运维、电子
🙏🏻如果本文章各位小伙伴们有帮助的话,🍭关注+👍🏻点赞+🗣评论+📦收藏,相应的有空了我也会回访,互助!!!
🤝另本人水平有限,旨在创作简单易懂的文章,在文章描述时如有错,恳请各位大佬指正,在此感谢!!!


@[TOC]

缘由

  不知道相信都有这样的体验吧,比如你启动了一个程序或者一个指令,而这个指令会在后台有多条线程,等了半天都没有响应,这时候你很恼火,想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
    

    在这里插入图片描述

  • 再次查看是否还有github线程,已经没有了
    在这里插入图片描述

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。