Linux pgrep 下令详解

打印 上一主题 下一主题

主题 984|帖子 984|积分 2952

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
简介

Linux 中的 pgrep 下令是一个功能强大的实用程序,用于根据名称、用户、组和其他标准搜索进程。它答应轻松地找到匹配给定模式的运行进程的进程id (pid)。该下令对于脚本或需要查找特定进程而不需要使用 ps 手动查找的管理员特殊有用。
常用选项



  • -u <user>:查找特定用户拥有的进程
  • -g <group>:查找特定组中的进程
  • -P <pid>:查找给定父 PID 的子进程
  • -f <pattern>:与完整下令行进行匹配(不仅仅是进程名称)
  • -l:显示进程名称及其 PID
  • -o:仅返回第一个匹配的进程
  • -v:反向搜索(返回与模式不匹配的进程)
  • -c <name>:通过可执行下令(而不是名称)查找进程
  • -x:完全匹配(即匹配下令的全名)
  • -d <delimiter>:指定 PID 的分隔符,默认是换行符
  • -c:打印出匹配的数目
  • -i:匹配时不区分巨细写
  • -n:仅选择最新的(近来启动的)匹配进程
示例用法

通过名称查找进程

   要查找特定进程 (比方 bash) 的进程 ID
  1. pgrep bash
复制代码
示例输出
  1. 1234
  2. 5678
复制代码
查找特定用户的进程

   要查找以特定用户(比方 root)运行的进程
  1. pgrep -u root
复制代码
按名称和用户查找进程

   可以组合条件。比方,要查找用户 john 拥有的 bash 进程
  1. pgrep -u john bash
复制代码
显示进程名称和 PID

   默认情况下,pgrep 仅显示 PID。也可以使用 -l 选项列出进程名称
  1. pgrep -l bash
复制代码
示例输出
  1. 1234 bash
  2. 5678 bash
复制代码
匹配部分名称(使用正则表达式)

   此下令匹配下令行中包含字符串 apache 的进程,而不仅仅是名称中包含该字符串的进程
  1. pgrep -f apache
复制代码
通过下令行参数搜索进程

   使用特定参数搜索进程(比方,使用 URL 搜索 curl 进程)
  1. pgrep -f "curl http://example.com"
复制代码
排除进程

   列出除与 bash 匹配的所有进程
  1. pgrep -v -f "bash"
复制代码
按父进程 ID (PPID) 搜索

   查找特定父进程的所有子进程
  1. pgrep -P 1234
复制代码
查找当前 shell 的 PID

  1. pgrep -P $$
复制代码
仅返回 bash 进程的第一个匹配项

  1. pgrep -o bash
复制代码
获取特定用户组的所有进程

  1. pgrep -g <group_name>
  2. pgrep -g staff
复制代码
搜索使用特定端口的进程

  1. ss -ltnp | grep ':8080' | pgrep -f
  2. 要搜索使用端口 8080 的进程(通过 netstat 或 ss),再通过管道传给 pgrep
复制代码
指定输出的 PID 分隔符

  1. pgrep ssh -d' '
复制代码
示例输出
  1. 1039 2257 6850 31279
复制代码
正则精准匹配

  1. pgrep '^ssh$' -l
  2. ^表示以某字符串开头,$表示以某字符串结尾
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

小秦哥

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表