> 进程管理 > pkill

pkill: 按名称终止/发送信号给进程

pkill 是一个根据进程名称或其他属性查找并向进程发送信号的命令。它与 `pgrep` 类似,但区别在于它直接向找到的进程发送信号。它对于一次性终止或重新启动特定名称的所有进程非常有用。

概述

pkill 使用与 `pgrep` 相同的模式匹配功能来查找进程,但它会将指定的信号发送到找到的进程。默认信号是 SIGTERM (15),它请求进程正常终止。您可以使用 `-9` 选项发送 SIGKILL,但这会强制终止,因此需要谨慎。

主要功能

  • 按进程名称发送信号
  • 根据用户、终端、完整路径等各种条件进行过滤
  • 默认信号为 SIGTERM (正常终止)
  • 支持强制终止 (SIGKILL)

主要选项

pkill 命令通过各种选项可以精确选择要发送信号的进程。

信号和匹配

进程过滤

生成的命令:

请尝试组合命令。

描述:

`pkill` 执行命令。

通过组合这些选项,您可以与 AI 一起虚拟地执行命令。

使用示例

展示了使用 pkill 终止特定进程或发送信号的各种方法。

正常终止 nginx 进程

pkill nginx

向所有名为 nginx 的进程发送 SIGTERM 信号,请求正常终止。

强制终止特定用户拥有的 firefox 进程

pkill -u john -9 firefox

强制终止由指定用户(例如 'john')运行的 firefox 进程。

终止包含 'my_script.sh' 的整个命令行中的所有进程

pkill -f my_script.sh

终止整个命令行中包含 'my_script.sh' 的所有进程,而不仅仅是进程名称。

终止特定终端 (tty1) 中运行的所有进程

pkill -t tty1

向在 tty1 终端中运行的所有进程发送 SIGTERM 信号。

向 httpd 进程发送 HUP 信号(重启)

pkill -HUP httpd

向 httpd 进程发送 SIGHUP 信号,请求重新加载配置文件或重启。

提示与注意事项

使用 pkill 时需要注意的事项和有用提示。

注意事项

  • 请将 `pkill -9` (SIGKILL) 作为最后的手段。它不会给进程进行清理操作的机会,可能导致数据损坏或系统不稳定。
  • 为防止意外终止进程,建议先使用 `pgrep` 确认哪些进程将被选中。(例如:`pgrep -l <pattern>`)
  • 您可以使用正则表达式来指定模式。(例如:`pkill 'apache.*'`)
  • pkill 默认只针对当前用户的进程。要终止其他用户的进程,需要 root 权限。

相同类别命令