如何在 Linux 中终止进程

本页内容

  • 什么是 Linux 中的进程?
  • 如何在 Linux 中终止进程
  • - 使用 kill 命令
  • - 使用 killall 命令
  • - 使用 xkill 命令
  • - 使用 pkill 命令
  • - 使用 top 命令
  • EventLog Analyzer 如何帮助进行 Linux 监控

如果您曾遇到过在 Linux 系统 上应用程序突然冻结或无响应的情况,您一定知道那种挫败感。该应用程序可能仍在后台运行,占用系统资源,阻止您重新启动它。无响应的进程,无论是占用过多的 CPU 还是内存,都可能严重影响系统稳定性。本文将介绍如何使用基本的 Linux 命令识别并终止无响应的进程。

什么是 Linux 中的进程?

在深入了解如何在 Linux 中终止进程之前,了解进程的定义非常重要。在 Linux 中,进程是正在运行的程序的一个实例,每个实例都有一个唯一的标识符,称为进程 ID(PID)。查找进程的 PID 是必需的,因为 Linux 命令需要它来定位并终止无响应的进程。

要查找进程的 PID,请使用以下命令:

  • “ps” 命令及其“-p”选项: ps -p 显示指定 PID 的进程信息。
  • “pidof” 命令: pidof 显示指定名称进程的 PID。

如何在 Linux 中终止进程

Linux 提供以下命令来通过命令行终止进程:

  • kill: 通过 PID 终止 Linux 中的进程。
  • killall: 通过名称终止 Linux 中的进程。
  • xkill: 通过点击窗口终止进程(适用于图形应用程序)。
  • pkill: 根据名称、用户或其他属性终止进程。
  • top: 交互式监控并直接从命令行界面终止进程。

要通过 PID 停止进程,您必须知道该进程的 PID。

使用 Linux kill 命令停止进程

“kill” 命令允许您通过指定 PID 来终止进程。

Syntax: kill <PID>

例如,要终止 PID 为 3827 的 Chrome 进程,您可以使用,

$ kill 3827

默认情况下,该命令发送 SIGTERM 信号,使进程能够优雅地关闭并完成任何必要的清理工作后终止。指定 PID 的进程将接收此信号,并可在终止前保存数据或关闭打开的文件。这是终止进程的首选方法。

kill pid

“kill” 命令还允许您指定其他信号。Linux 终端中的 “Kill - l” 命令可帮助您查看所有信号的完整列表。以下列出了一些常用信号。

信号 描述 语法
SIGTERM kill 命令默认发送的信号,用于优雅地终止进程 kill -1 <PID>
SIGKILL 强制立即终止进程的信号,不允许清理。 kill -9 <PID>
SIGSTOP 用于暂停或挂起进程的信号。 kill -19 <PID>
SIGCHLD 当子进程终止或停止时发送给父进程的信号。 kill -17 <PID>
kill 命令的不同信号

除了这些用于终止进程的核心信号外,Linux 还提供了其他信号,如下所示,这些信号通常与终止进程结合使用。

信号 描述 语法
SIGHUP 用于重新加载进程的挂断信号 kill -1 <PID>
SIGILL 当进程尝试执行非法指令时发送的信号 kill -4 <PID>
SIGCONT 用于恢复暂停进程的继续信号 kill -18 <PID>
SIGNTSOP 按下 Ctrl+Z 时发送的终端停止信号 kill -20 <PID>
常与 kill 命令结合使用的信号

使用 "killall" 命令在 Linux 中终止进程

如果您知道进程的确切名称,可以使用 "killall" 命令终止所有具有特定名称的进程。例如,要终止所有 Chrome 实例,您可以使用:killall chrome

虽然 "killall" 命令很方便,但它可能无法捕获所有进程实例,尤其是在运行多个版本或实例时。在这种情况下,您可能需要使用带有特定 PID 的 "kill" 命令。

Linux 终止进程

使用 "xkill" 命令在 Linux 中终止进程

Linux 中的 "xkill" 命令提供了一种快速简便的方法来终止无响应的图形应用程序。如果遇到无法关闭的冻结窗口,"xkill" 命令允许您通过点击窗口来终止它。

使用 "xkill" 命令终止进程,请按照以下步骤操作:

  • 启动终端: 在应用菜单中搜索“Open Terminal”或使用快捷键 (Ctrl+Alt+T) 启动终端。
  • 运行 xkill 命令: 输入命令并按 Enter 后,光标将变为十字或骷髅图标。

    Syntax: xkill
  • 点击无响应的窗口: 光标变更后,点击您想关闭的窗口。与该窗口关联的进程将立即终止。

    当您需要快速关闭无响应的应用程序而无需查找其进程 ID 时,xkill 命令特别有用。

kill process Linux

使用 "pkill" 命令在 Linux 中终止进程

"pkill" 命令提供了更灵活的 Linux 进程终止方式。与需要知道进程 ID 的 "kill" 命令不同,"pkill" 命令允许您根据进程名称、用户或其他属性终止进程。

使用 "pkill" 命令终止进程,请按照以下步骤操作:

  • 按名称终止进程: 此命令会终止所有匹配指定名称的进程。

    Syntax: pkill process_name
  • 按用户定位进程: 要终止特定用户运行的进程,请使用:

    Syntax: pkill -u username process_name

    将 username 替换为用户名称,将 process_name 替换为您希望终止的进程名称。

  • 使用特定信号: 默认情况下,"pkill" 命令发送 SIGTERM 信号,但您可以根据需要发送不同的信号。要使用 SIGKILL 强制终止进程,请运行:

    Syntax: pkill -9 process_name

    当您需要终止多个进程实例或在多用户环境中管理进程时,"pkill" 命令特别有用。

使用 "top" 命令在 Linux 中终止进程

Linux 中的 top 命令显示系统运行进程和资源使用的实时信息。它提供活动进程的更新列表,包括 CPU 使用率、内存使用率、进程 ID (PID)、用户等详细信息。

"top" 命令运行时,您可以找到想要终止的进程,并按照以下步骤操作:

  • 打开终端,输入 top 并按 Enter。这将显示系统进程和资源使用的实时信息。

    Syntax: top
  • 通过 PID 定位您想终止的进程。在 top 运行时按 k
  • 系统会提示您输入要终止的进程 PID。
  • 默认情况下,top 使用 SIGTERM 信号(15)。您可以按 Enter 使用默认信号,或根据需要指定其他信号。
如何在 linux 中终止进程

EventLog Analyzer 如何帮助进行 Linux 监控

ManageEngine EventLog Analyzer 是一款全面的 日志管理合规工具,能够有效监控您的 Linux 环境。它作为集中式 syslog 服务器,自动解析所有 Linux 发行版的 syslog,以监控性能、健康状况并确保安全。该强大的日志管理工具提供用户登录、注销、关键安全事件、用户账户管理变更等的洞察。此外,其 文件完整性监控 (FIM) 功能监控 Linux 文件系统的更改,并实时提醒您未经授权的修改。

如何在 linux 中终止进程

下一步:

通过 30 天免费试用,探索 EventLog Analyzer 的 Linux 监控功能。