Linux 查找并列出与指定条件匹配的进程 ID(PID)命令 pgrep 详细介绍

Linux 和其他类 Unix 操作系统中的 pgrep 命令是用于在查找并列出与指定条件匹配的进程 IDPID)的命令,他是 psgrep 的组合。它通常用于脚本和命令行环境中,以便自动化任务或调试。

基本语法:

pgrep [选项] <模式>

常用选项

  • -l:显示进程名称和进程 ID。
  • -a:显示完整的命令行。
  • -d <分隔符>:指定用于分隔多个进程 ID 的分隔符(默认为换行符)。
  • -f:匹配完整的命令行而不是仅匹配进程名称。
  • -v:反向匹配,即显示不匹配模式的进程。
  • -x:精确匹配,要求进程名称完全匹配给定的模式(而不是部分匹配)。
  • -u <用户名>:仅匹配指定用户的进程。
  • -P <父PID>:仅匹配指定父进程的子进程。
  • -o:仅显示最旧的匹配进程(根据启动时间)。
  • -n:仅显示最新的匹配进程(根据启动时间)。
  • -G <组名>:仅匹配指定组的进程。
  • -t <终端名>:仅匹配在指定终端上运行的进程。
  • -s:仅显示匹配进程的会话 ID(SID)。

常用示例

  • 查找进程名称包含 ssh 的进程 ID
pgrep ssh
  • 查找进程名称完全匹配 sshd 的进程 ID
pgrep -x sshd
  • 查找进程名称包含 ssh 的进程 ID 和进程名称:
pgrep -l ssh
  • 查找完整命令行包含 root 的进程 ID 和完整命令行:
pgrep -f root -a
  • 查找由用户 alice 启动的进程 ID
pgrep -u alice
  • 查找父进程 ID1234 的所有子进程的进程 ID
pgrep -P 1234
  • 使用逗号分隔符列出匹配模式的多个进程 ID
pgrep -d, ssh
  • 反向匹配,显示不包含 bash 的进程 ID
pgrep -v bash

注意事项

  • pgrep 依赖进程名称或命令行中的字符串进行匹配,因此它的行为可能会受到系统配置和当前运行进程的影响。
  • 在使用 -f 选项时,pgrep 会匹配完整的命令行,这可能会导致更多的匹配结果,特别是当命令行参数包含搜索字符串时。
  • 使用 -x 选项进行精确匹配时,确保模式字符串与进程名称完全匹配,包括大小写。

pgrep 是一个强大的工具,通过结合不同的选项,可以灵活地查找和列出符合特定条件的进程。在编写脚本或进行系统调试时,它是一个非常有用的命令。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值