Linux Mint下批量终止正在运行的程序或者进程

前言

在Linux操作系统的日常使用和服务器管理中,我们经常会遇到需要结束一系列特定进程的情况。这可能是因为这些进程不再需要,或者它们在执行过程中出现了问题。比如我在进行深度学习训练模型时,可能要使用多线程读取数据,但可能因为某些原因,我察觉到代码写错,需要停止程序,此时如果我们一个个用kill -9 [进程号]这样的方法似乎有点效率太低了。本文介绍下如何合理的使用pkill和kill,它们可以帮助我们高效地管理进程。


一、pkill命令简介

pkill命令是一个可以发送信号到与给定条件匹配的进程的命令。它允许我们基于进程名称、用户、进程组等属性进行操作。使用pkill时,你可以避免手动查找进程ID,直接根据进程的名称或其他属性来杀死进程。这个命令在需要批量杀死进程时尤为有用。

二、kill命令简介

kill命令是另一个用于终止进程的工具,但它需要一个或多个进程ID作为输入。与pkill不同,kill需要我们知道精确的进程ID。尽管它不如pkill那样方便,但kill在知道具体进程ID的情况下可以更精确地控制要结束的进程。

三、使用步骤

1. 使用pkill批量杀死进程

以关键字train为例,要杀死所有包含关键字"train"的进程,可以按照以下步骤操作:

  1. 打开终端。
  2. 输入命令pkill -f train,然后按Enter键。
    pgrep 用于查找匹配条件的进程ID。
    pkill 可以直接根据进程名或其他属性杀死进程。
pkill -f train

3.系统会自动发送终止信号到所有进程名称中包含"train"的进程。

2.使用kill命令配合管道操作批量杀死进程

如果你需要更细致地控制杀死哪些进程,你可以使用kill命令配合管道操作,依然以终止关键字“train”的进程为例,如果要终止其他进程,只需将下列代码中的train替换成其他关键字:

  1. 打开终端。
  2. 输入命令ps aux | grep ‘train’ | grep -v grep | awk ‘{print $2}’ | xargs kill,然后按Enter键。
  3. 这将会查找所有名称中包含"train"的进程,并将它们的进程ID发送给kill命令进行终止。

使用ps列出所有进程。
使用grep搜索含有"train"的行。
使用awk或cut获取进程ID。
使用kill发送信号杀死这些进程。

ps aux | grep 'train' | grep -v grep | awk '{print $2}' | xargs kill 

这个命令的工作流程是:

ps aux 列出所有运行中的进程。
grep ‘train’ 搜索包含"train"的行。
grep -v grep 排除grep进程自身。
awk ‘{print $2}’ 打印出进程ID(假设进程ID在第二列)。
xargs kill 将这些进程ID传递给kill命令进行杀死。
注意:在杀死进程之前,一定要确认你不会误杀其他重要进程。比如,如果你的系统中有其他不相关的进程名也包含"train",它们也会被杀死。你可以先运行不带xargs kill的命令来检查哪些进程将被影响。

此外,如果需要强制杀死进程(当进程没有响应普通的kill信号时),可以使用kill -9,但要谨慎使用,因为这可能导致数据丢失或不一致状态。例如:

ps aux | grep 'train' | grep -v grep | awk '{print $2}' | xargs kill -9

总结

在管理服务器或者本地机器时,pkill和kill是两个非常有用的命令。它们提供了灵活的方式来批量杀死进程,这对于系统管理员和开发者来说可以节省宝贵的时间。通过本文的介绍,我们了解了这两个命令的基本使用方法,以及如何在实践中应用它们来提高工作效率。然而,使用这些命令时应该小心谨慎,以避免不必要的系统问题。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PellyKoo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值