命令概述
pkill 是一个通过名称或其他属性来发送信号到进程的命令。它与 pgrep 命令是“兄弟命令”,都来自 procps 或 procps-ng 软件包。
基本语法:pkill [选项] [模式]
核心功能:根据提供的“模式”匹配进程名(或使用 -f 时的完整命令行),并向所有匹配的进程发送指定的信号(默认为 SIGTERM,即信号15)。
常用参数介绍
pkill 的参数非常丰富,以下是一些最常用和关键的选项:
| 参数 | 全称 | 说明 |
|---|---|---|
| -信号 | 指定要发送的信号。可以是信号名称(如 KILL)或号码(如 9)。默认是 TERM (15) | |
| -9 | -KILL 或 -SIGKILL | 发送 SIGKILL 信号,强制立即终止进程,进程无法捕获或忽略此信号 |
| -f | –full | 默认情况下,pkill 只匹配进程名;使用 -f 后,它会匹配完整的命令行(即你启动进程时输入的全部命令和参数),支持模糊匹配,匹配包含关键词字符串的任何完整命令行 |
| -i | –ignore-case | 匹配时忽略大小写 |
| -u | –euid | 仅匹配属于指定用户的进程。用户名或 UID 都可以 |
常用示例
pkill firefox # 终止所有名严格为 "firefox" 的进程
pkill -9 firefox # 强制杀掉进程名为 "firefox" 的进程
pkill -i firefox # 终止所有名为 "firefox" 的进程 (忽略大小写)
pkill -u alice # 终止用户 "alice" 的所有进程
# 终止一个特定的 Python 脚本,匹配内容"python3 my_long_running_script.py"
pkill -f "python3 my_long_running_script.py"
pkill -fi9 "myscript.py" # 参数组合使用,等价于 pkill -9 -f -i "myscript.py"
# 使用 pgrep 列出所有匹配的 PID 和命令,更安全
pgrep -lf "my_script" # 1. 查看会匹配到哪些进程
pkill -f firefox # 2. 确认无误后,再执行
谨慎使用 -f:-f 选项功能强大,但也容易误杀。例如 pkill -f java 可能会杀死服务器上所有的 Java 应用,包括你不希望关闭的关键服务。
先用 pgrep 测试:强烈建议在执行 pkill 前,先使用 pgrep -lf [模式] 来确认匹配的进程是否是你真正想终止的。这是一个非常好的习惯。
4190

被折叠的 条评论
为什么被折叠?



