【pkill & pgrep】Centos/Linux pkill命令详细介绍

【pkill & pgrep】Centos/Linux pkill命令详细介绍

简介

基础语法

选项介绍

退出状态

基本用法

注意事项

简介

系统版本:Centos7.6

pkill命令用于杀死一个进程,会根据进程名称和其他属性杀死进程(默认会向进程发送SIGTERM信号,详细请看Linux信号的行为说明),与之相似的命令有killall,与kill命令相比,kill命令需要ps命令的配合查出PID,而pkill命令可以直接根据进程名进行操作,使用起来更为方便。

从man文件来看pkill与pgrep是绑定在一起的。grep会根据进程名称和其他属性查找进程,并列出匹配所有条件进程的PID。例如:

bash 复制代码
将名为sshd和属于root的进程列出(这里是都要符合)
> pgrep -u root sshd

将属于root的进程或守护进程列出(这里是符合其一即可)
> pgrep -u root,daemon

基础语法

bash 复制代码
> pkill [option] 进程名
> pgrep [option] 进程名

选项介绍

选项 选项说明
-signal,--signal 定义要发送到每个匹配进程的信号,也可以使用数字或符号信号名称(仅限 pkill)
-c,--count 阻断正常输出,而是打印匹配进程的总数。 当 count 与任何内容不匹配时,例如返回零,若匹配该命令将返回非零值。
-d,--delimiter 设置用于分隔输出中每个进程 ID 的字符串(默认情况下为换行符),该选项仅限 pgrep
-f,--full 该模式通常仅与进程名称匹配,设置 -f 时,请使用绝对路径
-g,--pgroup 多个组用","做分割。仅匹配列出的进程组 ID 中的进程, 进程组 0 被转换为 pgrep 或 pkill 自己的进程组
-G,--group 多个组用","做分割。仅匹配列出其真实组 ID 的进程,可以使用数值或符号值
-l,--list-name 列出进程名称以及进程 ID,该选项仅限 pgrep
-a,--list-full 列出绝对路径以及进程 ID,该命令仅限 pgrep
-n,--newest 仅选择最新(最近启动)的匹配进程
-o,--oldest 仅选择最旧(最近一直不启动)的匹配进程
-P,--parent 多个父进程ID用","做分割。仅匹配其父进程 ID 已列出的进程
-s,--session 多个会话ID用","做分割。仅匹配其进程会话 ID 已列出的进程,会话 ID 0 被转换为 pgrep 或 pkill 自己的会话 ID
-t,--terminal 多个终端名称用","做分割。仅匹配其控制终端已列出的进程,应指定终端名称,但不应使用"/dev/"前缀
-u,--euid 多个有效用户ID用","做分割。仅匹配其有效用户 ID 已列出的进程,可以使用数值或符号值
-U,--uid 多个真实用户ID用(可登录的)","做分割。仅匹配列出真实用户 ID 的进程,可以使用数值或符号值
-v,--inverse 否定匹配。 此选项通常在 pgrep 的列表中使用。 在 pkill 的列表中,而 short 选项应被禁用以避免意外使用该选项
-w,--lightweight 在 pgrep 的列表中显示所有线程 ID 而不是 PID。 在 pkill 的列表中,此选项被禁用
-x,--exact 仅匹配名称(如果指定了 -f,则为命令行)与模式完全匹配的进程
-F,--pidfile 从文件中读取 PID,对于 pkill 来说,此选项可能比 pgrep 更有用
-L,--logpidfile 如果 -F,--pidfile 未锁定,则失败
--ns 匹配属于相同命名空间的进程。需要以 root 身份运行以匹配来自其他用户的进程
--nslist 仅匹配提供的命名空间,可用的命名空间:ipc、mnt、net、pid、user、uts
-V,--version 显示命令版本信息
-h,--help 显示帮助

退出状态

状态码 状态说明
0 一个或多个进程符合条件
1 没有匹配的进程
2 命令行中的语法错误
3 致命错误:内存不足等

基本用法

1、查找属于root的named守护进程的PID

bash 复制代码
> pgrep -u root named

2、使 syslog 重新读取其配置文件

bash 复制代码
> pkill -HUP syslogd

3、提供有关所有 xterm 进程的详细信息

bash 复制代码
> ps -fp $(pgrep -d, -x xterm)

4、 结束所有的 php-fpm 进程

bash 复制代码
> pkill -9 php-fpm

注意事项

1、用于匹配的进程名称限制为 /proc/pid/stat 输出中存在的 15 个字符。

以sshd的PID为33513为例

bash 复制代码
> vim /proc/33513/stat

2、使用 -f 选项与绝对路径 /proc/pid/cmdline 进行匹配。

以sshd的PID为33513为例

bash 复制代码
> ​​​​​​vim /proc/33513/cmdline

3、正在运行的 pgrep 或 pkill 进程永远不会将自身报告为匹配项。

4、选项 -n 和 -o 和 -v 不能组合使用

相关推荐
好好学操作系统2 分钟前
autodl 保存 数据 跨区
linux·运维·服务器
dbitc4 分钟前
WIN11把WSL2移动安装目录
linux·运维·ubuntu·wsl
KingRumn5 分钟前
Linux同步机制之信号量
linux·服务器·网络
嵌入式学习菌5 分钟前
SPIFFS文件系统
服务器·物联网
旺仔Sec5 分钟前
2026年度河北省职业院校技能竞赛“Web技术”(高职组)赛项竞赛任务
运维·服务器·前端
BullSmall26 分钟前
linux 根据端口查看进程
linux·运维·服务器
herinspace30 分钟前
管家婆软件年结存后快马商城操作注意事项
服务器·数据库·windows
_F_y36 分钟前
Linux:进程间通信
linux
嘻哈baby37 分钟前
Ansible自动化运维入门:从手工到批量部署
运维·自动化·ansible
weixin_462446231 小时前
Kali/ubuntu Linux 中彻底删除 Cursor 编辑器(含 dpkg 非空目录警告解决)
linux·ubuntu·cursor