Kill 与 Killall - 区别和命令用法 - Linux 进程管理Kill 与 Killall - 区别和命令用法 - Linux 进程管理Kill 与 Killall - 区别和命令用法 - Linux 进程管理Kill 与 Killall - 区别和命令用法 - Linux 进程管理
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

Kill 与 Killall - 区别和命令用法 - Linux 进程管理

发表 admin at 2025年2月28日
类别
  • 未分类
标签

本文将讨论kill 与killall 命令之间的区别。终止 Linux 上的进程是管理员和用户必须了解的重要知识。在某些时候,您会遇到挂起并冻结的应用程序或服务,您需要终止该进程才能退出它。

Linux 命令行为我们提供了几种不同的方式来终止进程。使用多种工具来完成这项工作(这在 Linux 上很常见)很方便,但会造成一些混乱,因为它们都有一些功能重叠。

在本教程中,我们将解释 Linux 上的 kill 和 killall 命令之间的区别。您还将看到如何使用每个命令的示例。

在本教程中您将学习:

  • kill 与 killall 之间的区别

  • 如何使用 kill 和 killall 命令终止进程

  • 使用 kill -9 和 killall -9 命令

Kill 与 Killall – 有什么区别?

从名称中可以明显看出,kill 将终止一个进程,killall 可以同时终止多个进程。

理解差异的最佳方法是查看一些示例:

  1. 要终止 Linux 上的进程,请使用 kill 命令并指定您计划终止的进程 ID。

    $ kill 1234
    
  2. killall 命令的工作方式略有不同,它接受要结束的进程的名称,并终止与您指定的名称匹配的所有进程。

    $ killall firefox
    
  3. 请注意,您仍然可以使用普通的 kill 命令一次结束多个进程,但您需要指定要终止的每个进程 ID。

    $ kill 1234 1233 1232
    

因此,有两个关键区别:

  • kill 接受进程 ID 号作为参数,并且一次仅终止一个进程(除非您在命令中指定多个进程 ID)

  • killall 允许我们按名称杀死进程,并将结束具有匹配名称的所有进程

杀死-9 VS 杀死-9

默认情况下,kill 和 killall 将尝试尽可能优雅地停止进程。两者都会向指定进程发送 SIGTERM 信号,并指示该进程关闭。这是结束正在运行的进程的一种礼貌方式,并为应用程序或服务提供了首先完成工作的时间 - 例如完成对日志文件的写入,关闭由进程生成的打开的连接等。

唯一的问题是顽固的程序可能会忽略 SIGTERM 信号。这种情况尤其发生在冻结或“挂起”的进程中。 ” 但是,kill 和 killall 可用于向进程发送许多不同的信号,甚至可以使用 SIGKILL 强制最顽固的信号关闭 信号。

要使用 kill 或 killall 发送 SIGKILL 信号,您可以使用以下命令语法:

  1. 通过使用 kill 发送 SIGKILL 信号来强制关闭进程:

    $ kill -9 1234
    
  2. 通过使用 killall 发送 SIGKILL 信号来强制关闭一个或多个进程:

    $ killall -9 firefox
    

如果可能,您应该向您希望结束的进程发送普通的 SIGTERM 信号。使用 SIGKILL 信号立即终止服务每次都很有效,并且会立即得到结果,但可能会导致未来出现问题,因为进程没有机会正确关闭。

结束语

在本指南中,我们了解了 Linux 上的 kill 和 killall 命令之间的区别。我们还看到了使用每个信号向一个或多个进程发送 SIGTERM 或 SIGKILL 信号的示例。如需进一步阅读,请查看我们关于 pkill 命令的文章,该命令的工作方式与 killall 类似,但不需要精确的名称匹配。

©2015-2025 Norria support@norria.com