概述
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 权限。