- 文档
- 教程
- 知识库
【免费下载链接】tldr
Collaborative cheatsheets for console commands 📚.
本篇技术指南以 tldr 仓库中的 pgrep 阿拉伯语速查页 为主体,结合仓库内英文、中文及 common 平台页面的源码级证据,系统拆解
pgrep按名称定位进程、匹配完整命令行、按用户过滤等核心场景。读完你将掌握pgrep的三类高频用法、进阶选项组合(如-a、-l、-n),以及 tldr 社区如何通过占位符、选项占位符与 lint 校验保证速查页的可读性与可验证性。
一、pgrep:按名称定位进程的查询工具
pgrep是一个通过进程名称(或命令行内容)查找运行中进程并输出其 PID 的命令行工具,广泛用于脚本自动化、系统排障与进程监控场景。tldr 仓库在 pages.ar/linux/pgrep.md 中将它的定位概括为"按名称查找进程或向进程发送信号"(阿拉伯语原文:البحث عن العمليات أو إرسال إشارات إليها باستخدام الاسم),并在页面头部通过See also机制与pidof建立关联——这一点与 pages/linux/pidof.md 中"使用名称获取进程 ID"的描述互为补充。
需要澄清的是:pgrep本身的行为是查找并输出 PID,真正向进程"发送信号"通常由pkill或kill完成。tldr 页面在 pidof 页面 中展示了kill $(pidof {{name}})这一"先查 PID、再发信号"的组合模式,后续章节会展开说明。
二、速查页的结构骨架:头部信息如何构建
tldr 的每个页面都遵循严格的头部格式,style-guide.md 定义了通用模板。以 pages.ar/linux/pgrep.md 为例,其头部包含三个要素:
| 要素 | 阿拉伯语页面原文 | 模板来源 |
|---|---|---|
| 功能描述 | > البحث عن العمليات أو إرسال إشارات إليها باستخدام الاسم | style-guide.md |
| 相关命令(See also) | > انظر أيضًا: \pidof`.` | see-also-mentions.md |
| 更多信息链接 | > لمزيد من التفاصيل: <https://manned.org/pgrep>. | more-info-link.md |
其中两点值得注意:
- See also 的语义:style-guide 规定,当存在可搭配使用的相关命令时,应在基础命令的描述中放置提示(参见 see-also-mentions.md)。
pgrep与pidof功能相近,二者互相在对方页面中标注,方便用户横向跳转。 - 阿拉伯语占位符不翻译:根据 common-arguments.md 中的注释,阿拉伯语(
ar)和波斯语(fa)页面的占位符不应翻译,以避免从右向左阅读时文本翻转错乱。这解释了为何阿拉伯语页面的{{process_name}}、{{parameter}}保持英文原样,而描述文字为阿拉伯语。
三、核心用法一:按名称返回 PID
pgrep {{process_name}}这是pgrep最基础也最高频的用法:匹配进程名(而非完整命令行),输出所有符合条件进程的 PID,每个 PID 单独占一行。实际使用时直接替换占位符即可,例如:
pgrep sshd关于占位符语法:style-guide 规定用户可替换的值必须使用{{placeholder}}包裹,以便 tldr 客户端高亮显示;{{process_name}}属于文本型占位符,用于提示用户此处应填入进程名(参见 style-guide.md)。
四、核心用法二:匹配完整命令行
pgrep {{[-f|--full]}} "{{process_name}} {{parameter}}"-f(长选项--full)让pgrep不再局限于进程名,而是对进程的完整命令行参数进行正则匹配。这在按名称找不到、或需要按启动参数(如端口、配置路径、特定标志)定位进程时非常关键。
阿拉伯语页面的写法是pgrep {{[-f|--full]}} "{{process_name}} {{parameter}}",其中:
{{[-f|--full]}}是"选项占位符":style-guide 规定,当命令的长短选项功能等价、且希望由客户端决定展示哪种风格时,使用{{[-o|--output]}}这种竖线分隔的写法(参见 style-guide.md)。因此这里同时记录了-f与--full两种等价形式。- 引号包裹的原因:整个匹配串放在双引号内,避免 shell 把其中的空格拆分成多个参数。占位符接收字符串时建议用引号包裹(参见 style-guide.md)。
典型场景:查找以--config=/etc/app.conf启动的守护进程——
pgrep -f "app --config=/etc/app.conf"英文页面 pages/linux/pgrep.md 中,-f示例同样使用引号包裹整体匹配串,验证了这一写法跨语言的一致性。
五、核心用法三:按用户过滤
pgrep {{[-u|--euid]}} root {{process_name}}-u(长选项--euid)按**有效用户 ID(effective UID)**过滤进程。阿拉伯语页面以root为例:只返回由 root 用户运行、且名称匹配的进程。该选项常用于排查特定服务账户、或确认某用户是否残留了孤儿进程。
英文版 pages/common/pgrep.md 中对应写法为pgrep -u {{username}} {{process_name}},二者完全等价,仅是占位符命名不同。需要留意选项与参数之间的空格约定:style-guide 优先使用空格而非=分隔选项与其参数(参见 style-guide.md)。
六、进阶选项补充:一个参数的多种产出形态
除上述三个核心场景外,仓库中的英文页面还记录了若干高频进阶选项,可作为实际排障时的扩展:
| 选项 | 作用 | 仓库出处 |
|---|---|---|
{{[-a|--list-full]}} | 输出 PID 的同时显示完整命令行 | pages/linux/pgrep.md |
-l | 输出 PID 的同时打印进程名(long 输出) | pages/common/pgrep.md |
-f与-l组合(-fl) | 匹配完整命令行,并同时打印 PID 与完整参数列表 | pages/common/pgrep.md |
-n | 只选择最新启动(最近开始)的匹配进程 | pages/common/pgrep.md |
典型组合示例:
pgrep -fl "nginx" # 匹配完整命令行并显示完整参数 pgrep -n sshd # 只返回最近启动的 sshd 进程 PID当同一页面上存在多个选项示例时,style-guide 建议优先使用长选项风格以提升可读性;选项占位符{{[-a|--list-full]}}的写法正是这一原则的落地(参见 style-guide.md)。此外,style-guide 还要求每个页面最多包含 8 个命令示例,帮助/版本类示例应置于页面末尾,保证常用示例靠前(参见 style-guide.md)。
七、与 pidof、kill 的协作:从查 PID 到发信号的完整链路
pgrep页面通过 See also 指向pidof,二者的差异在 pidof 页面 中体现得很清楚:
pidof {{bash}} # 列出给定名称的所有进程 ID pidof -s {{bash}} # 只列出一个进程 ID kill $(pidof {{name}}) # 先取 PID,再向其发送信号pidof仅按进程名精确匹配,而pgrep支持-f全命令行匹配、-u用户过滤等更丰富的筛选条件,适合更复杂的查询诉求。若需求是从"查 PID"推进到"发信号",tldr 社区推荐的方式是通过命令替换组合完成,即kill $(pgrep {{process_name}})的形式——这与 pidof 页面 中的kill $(pidof {{name}})示例同构。这也回应了阿拉伯语页面描述中"发送信号"的定位:pgrep负责定位,信号动作由配套命令执行。
八、速查页的质量保障:规范、占位符与 lint 校验
tldr 页面并非随意撰写,其质量由三层机制保障:
- 格式规范层:每个页面必须遵循 style-guide.md 定义的模板——
# 命令名标题、> 描述头部、- 示例说明与代码块交替排列。示例描述必须使用祈使语气(如"返回 PID"而非"正在返回 PID"),并禁止使用斜体、加粗等文本样式。 - 占位符语义层:
{{ }}包裹用户可替换值,{{[a|--long]}}表示长短选项二选一,{{placeholder1 placeholder2 ...}}表示一个或多个同类参数。这些约定让同一页面在不同客户端中都能被正确渲染(参见 style-guide.md 的语法速览表)。 - 自动校验层:每个 Pull Request 都会自动运行
tldr-lint,仓库中的 scripts/check-errors.sh 进一步检查占位符格式(如{{-[a-zA-Z][a-zA-Z]|-)、成对的反引号、祈使语气词(Displays、Checks等)以及失效链接。开发者也可以在本地运行tldr-lint path/to/tldr_page.md预先验证(参见 style-guide.md)。
九、如何在实际环境中查看这些速查页
本仓库即 tldr 命令速查数据的权威来源,所有平台目录(pages/linux、pages/common、pages.ar/linux等)都是可直接阅读的 Markdown 文件。日常使用时,通过任意 tldr 客户端执行tldr pgrep即可获取当前平台最合适的页面版本;例如 Linux 用户默认看到 pages/linux/pgrep.md(含-a/--list-full示例),而通用场景则由 pages/common/pgrep.md 兜底。阿拉伯语用户则会在tldr --language ar pgrep时读到 pages.ar/linux/pgrep.md 中本地化的三个核心示例。
结语
从pgrep {{process_name}}的一次简单查询,到-f全命令行匹配、-u用户过滤,再到与pidof、kill的组合信号链路,tldr 仓库用结构化的速查页面把pgrep的高频能力压缩为可直接复制运行的命令片段。理解这些页面的占位符语法与头部组织方式,不仅能让你更熟练地使用pgrep定位与操控进程,也能更深入地读懂 tldr 这一协作式速查表体系的文档化设计思路。
- 文档
- 教程
- 知识库
【免费下载链接】tldr
Collaborative cheatsheets for console commands 📚.
相关推荐
linux-command 命令速查:pgrep 进程查找与 PID 定位实战指南
linux command 命令速查:pgrep 进程查找与 PID 定位实战指南 pgrep 是 Linux 下按名称在运行进程队列中查找进程并输出进程 ID
文档教程Serenity OS pidof 命令完全指南:按进程名精确查找 PID 的实用工具
Serenity OS pidof 命令完全指南:按进程名精确查找 PID 的实用工具 pidof 是 Serenity OS 用户态工具集中一个短小精悍的进程
操作系统内核驱动tldr 仓库中 pip 命令速查页全解:Python 包管理核心操作与文档化实践
tldr 仓库中 pip 命令速查页全解:Python 包管理核心操作与文档化实践 本篇以 tldr 开源仓库中 pages.ar/common/pip.md
文档教程知识库
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考