当前位置: 首页 > news >正文

Linux 常用命令 -pkill【通过进程名或其他属性来发送信号给一个或多个进程】

简介

pkill 来自 “process kill”,意为进程终止。它允许你通过进程名或其他属性来发送信号给一个或多个进程,而无需手动查找进程 ID (PID)。pkill 命令在需要批量终止进程或根据特定条件终止进程时非常有用。 其原理是根据给定的模式匹配进程名,然后向匹配到的进程发送指定的信号(默认为 SIGTERM)。

使用方式

pkill [options] pattern

常用选项

  • -<signal>, --signal <signal>:指定要发送给每个匹配进程的信号。可以使用信号的数字值或符号名称。
  • -c, --count:抑制正常输出,转而打印匹配到的进程数量。如果匹配数量为零(即没有匹配到任何进程),命令将返回非零值。
  • -e, --echo:显示被终止进程的 PID 或名称。
  • -f, --full:通常情况下,搜索模式只匹配进程名称。使用此选项后,搜索模式会匹配完整的命令行。
  • -g, --pgroup pgrp,...:仅匹配属于指定进程组 ID 的进程。进程组 ID 0 特指 pkill 命令自身的进程组。
  • -G, --group gid,...:仅匹配其真实组 ID 在指定列表中的进程。可以使用组 ID 的数字值或符号名称。
  • -i, --ignore-case:匹配进程时忽略大小写。
  • -n, --newest:在匹配到的进程中,仅选择启动时间最新(最近)的一个。
  • -o, --oldest:在匹配到的进程中,仅选择启动时间最早(最先启动)的一个。
  • -O, --older secs:选择启动时间早于指定 secs 秒的进程。
  • -P, --parent ppid,...:仅匹配父进程 ID 在指定列表中的进程。
  • -s, --session sid,...:仅匹配会话 ID 在指定列表中的进程。会话 ID 0 特指 pkill 自身的会话 ID。
  • -t, --terminal term,...:仅匹配其控制终端在指定列表中的进程。终端名无需带上 /dev/ 前缀。
  • -u, --euid euid,...:仅匹配有效用户 ID 在指定列表中的进程。可以使用用户 ID 的数字值或符号名称。
  • -U, --uid uid,...:仅匹配真实用户 ID 在指定列表中的进程。可以使用用户 ID 的数字值或符号名称。
  • -x, --exact:仅匹配进程名称(如果使用了 -f 选项,则匹配命令行)与搜索模式完全一致的进程。
  • -F, --pidfile file:从指定文件 file 中读取 PID
  • -L, --logpidfile:如果 PID 文件(见 -F 选项)未被锁定,则指令执行失败。
  • -r, --runstates D,R,S,Z,...:仅匹配处于指定状态的进程。
  • --ns pid:匹配与指定 PID 属于相同命名空间的进程。若要匹配其他用户的进程,需要以 root 身份运行。
  • --nslist name,...:仅匹配指定类型的命名空间。可用的命名空间类型包括:ipc, mnt, net, pid, user, uts
  • -V, --version:显示版本信息。
  • -h, --help:显示帮助信息。

pattern

该操作数用于指定一个拓展正则表达式来匹配进程名或命令行。

返回值

  • 0:成功匹配并发送信号到一个或多个进程。
  • 1:没有进程被匹配到或无法向其发送信号。
  • 2:命令行语法错误。
  • 3:致命错误,例如内存不足等。

参考示例

终止所有名为 test 的进程

pkill test

根据完整命令行终止进程

 pkill -f "top -d 5"

仅终止以 top -d 5 命令行指令启动的进程。

匹配进程时忽略大小写

pkill -i TOP

加入 -i 选项后会无视所给名称的大小写区别,在此例中同样会终止 top 进程。

显示要终止的进程名和 PID

pkill -e top

使用 -e 后会输出终止的进程名和 PID,同时如果终止失败,也同样会显示出失败信息:

jay@jaylinuxlenovo:~/test$ pkill -e top
pkill: killing pid 727 failed: Operation not permitted
pkill: killing pid 169325 failed: Operation not permitted
top killed (pid 699820)

显示要终止的进程数量

pkill -c top

使用 -c 选项显示 pkill 匹配到的进程数量,即使终止失败,也会将其统计入最终数量中:

jay@jaylinuxlenovo:~/test$ pkill -c top
pkill: killing pid 727 failed: Operation not permitted
pkill: killing pid 169325 failed: Operation not permitted
4

注意事项

  • 在使用 -c 选项时的计数是指匹配到的进程数量,而不是成功发送信号的进程数量。
  • 默认情况下,用于匹配的进程名称仅限于 /proc/pid/stat 中显示的前 15 个字符。如果你需要匹配完整的命令行,请使用 -f 选项(它会匹配 /proc/pid/cmdline 文件中的内容)。
  • 僵尸进程也会被匹配到。

相关文章:

  • 2025.4.14-2025.4.20学习周报
  • 宝塔面板部署 Dify-latest 最新版本
  • QML 字符串格式化
  • Matplotlib的应用
  • Matlab FCM模糊聚类
  • SmolVLM2: The Smollest Video Model Ever(五)
  • 2020 年 7 月大学英语四级考试真题(组合卷)——解析版
  • String +memset字符串类题型【C++】
  • c语言修炼秘籍 - - 禁(进)忌(阶)秘(技)术(巧)【第六式】文件操作
  • 聚宽策略----国九条后中小板微盘小改,年化135.40%
  • HttpClient
  • Vue3集成Element Plus完整指南:从安装到主题定制上
  • 【深度学习入门_NLP自然语言处理】序章
  • C++初阶-类和对象(中)
  • Scratch——第18课 列表接龙问题
  • deep-share开源浏览器扩展,用于分享 DeepSeek 对话,使用户能够将对话内容保存为图片或文本以便轻松分享
  • 2025第十六届蓝桥杯python B组满分题解(详细)
  • chmod,chown命令
  • 【Linux】vim配置----超详细
  • CTGAN 合成数据生成与验证脚本学习笔记
  • 从 “负分” 到世界杯亚军,蒯曼专打“逆风局”
  • 纪念|巴尔加斯·略萨:写作之为命运
  • 女子“伸腿阻拦高铁关门”被行拘,事件追踪:当时发生了什么?
  • 澎湃思想周报|哈佛与特朗普政府之争;学习适应“混乱世”
  • 泽连斯基称乌克兰全境响起防空警报
  • 撤销逾千名留学生签证,特朗普政府面临集体诉讼