pgrep
- --delimiter
- --list-name
--list-full - --inverse
- --count
- --full
- --pgroup pgid 根据 pgid筛选
- --group 依据 进程 real group ,即进程的 real group id筛选
- --euid match by effective id
- --uid match by real id
- --session match session id
-
--newest --oldest
- --terminal match by controlling terminal
-
--exact
-
---parent
-
namespace
一个进程实体对应一个task_struct结构体
PID:用于唯一标记一个进程
这句话在以前是完全无误的,但是现在还必须加上一个条件,那就是在一个命名空间内唯一标记一个进程。关于命令空间,下一个章节会有介绍
TGID:线程组ID
一个进程可能包含多个线程,组成一个线程组,线程组内所有的线程的TGID都等于组长的PID。
PGID:进程组ID。
多个进程可以组成一个进程组,一个进程组内所有进程的PGID都等于组长的PID。
SID:几个进程组可以组成一个会话组,会话组内所有的进程都有相同的SID。
上图是3级namespace,上级和下级之间是父子关系。关于namespace有两点十分关键:
各个namespace之间的是相互隔离的,也就是说PID可以重复。如上图各个namespace都有PID为1的进程。
在下级namespace中创建的进程,在上级namespace中是可见的。如上图在level2 namespace中创建了进程PID=1,该进程在level 1 namespace中被映射为PID=3的进程,在level0 namespace中被映射为PID=5的进程。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律