前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux 下的 Pgrep 命令

Linux 下的 Pgrep 命令

作者头像
雪梦科技
发布2020-05-11 14:30:13
7.8K0
发布2020-05-11 14:30:13
举报
文章被收录于专栏:ITCoder

本文讲述 Linux pgrep命令的基础知识。

pgrep是一个命令行工具,它允许你基于给定条件来查找正在运行的程序的进程 ID。它可以是进程名字的全称或者一部分,进程运行者,或者其他属性。

这个pgrep命令是procps(或者procps-ng)软件包的一部分,它基本上在所有的 Linux 发行版上都预装了。

一、如何使用pgrep命令

pgrep的命令语法如下:

代码语言:javascript
复制
pgrep [OPTIONS] <PATTERN>

匹配<PATTERN>可以指定为正则表达式。

当不带任何选项运行时,pgrep显示匹配所给名字的所有运行程序 PID。例如,想要找到 SSH 服务器的 PID,你可以运行:

代码语言:javascript
复制
pgrep ssh

如果有进程名称匹配"ssh”,他们的 PID 将会被展示在屏幕上。如果没有发现匹配的,输出将是空的:

代码语言:javascript
复制
1039
2257
6850
31279

当至少有一个进程匹配了所给的名字时,这个命令返回0.否则,返回退出错误码1。这在 shell 脚本中很有用处。

如果你想发送信号给匹配的进程,使用pkill。这个命令是pkill的封装,并且使用了同样的选项和匹配样式。

pgrep会在每一行打印一个匹配的进程。-d选项允许你指定一个分隔符。例如,如果你想使用一个空格作为一个分隔符,输入:

代码语言:javascript
复制
pgrep ssh -d' '

输出:

代码语言:javascript
复制
1039 2257 6850 31279

-l选项告诉pgrep显示名称和 ID:

代码语言:javascript
复制
pgrep ssh -l

pgrep使用正则表达式来执行搜索操作,并且将会列出所有名字包含ssh的进程:

代码语言:javascript
复制
1039 sshd
2257 ssh-agent
6850 ssh
31279 ssh-agent

如果你想严格按照搜索样式准确匹配进程,你需要使用:

代码语言:javascript
复制
pgrep '^ssh$' -l

输出:

代码语言:javascript
复制
6850 ssh

默认情况下,pgrep仅仅匹配进程名字。当使用-f选项的时候,将会匹配所有的参数列表。

代码语言:javascript
复制
pgrep -f ssh

使用-u选项告诉pgrep显示由所给用户运行的进程:

代码语言:javascript
复制
pgrep -u root

想要指定多个用户,用逗号分隔他们的名字:

代码语言:javascript
复制
pgrep -u root,mark

想要显示最久(最老)和最近(最新)启动的进程,使用-n(最新)和-o(最久)选项。

例如,想要查找由用户mark启动的最新进程,你将输入:

代码语言:javascript
复制
pgrep -lnu mark

正如你从上面例子所看到的,你将可以去掉空格,将参数合并,在前面加上一个-

想要反向匹配,例如,想显示不匹配所给条件的进程,使用-v选项。下面的命令将会显示所有不是由用户mark所运行的进程:

代码语言:javascript
复制
pgrep -v -u mark

这个-c选项告诉pgrep仅仅打印匹配进程的数目。例如,想要查找由"mark"用户所运行的进程,输入:

代码语言:javascript
复制
pgrep -c -u mark

二、总结

pgrep命令被用来查找基于不同条件的运行进程 PID。

想要获得更多关于pgrep命令的信息,浏览pgrep 手册或者在你的终端输入man pgrep

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020年05月04日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、如何使用pgrep命令
  • 二、总结
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档