linux-kernel如何读取proc/pid文件?

Igu*_*amu 5 ubuntu process system-calls linux-kernel pwd

linux-kernel如何以及在何处读取显示系统中所有进程的proc/pid文件.我发现linux-source-2.6.31/fs/proc /这里有文件,但很难理解,因为它真的很复杂.有谁知道,它是如何工作的?

Sim*_*onJ 8

/ proc是一个伪文件系统,意味着它的内容不是"真正的"文件.相反,内容是内核内部数据结构的表示.因此内核不需要读取它们 - 它可以直接访问数据.

/ proc由用户模式(即非内核)程序使用,例如ps查找(例如)有关系统上运行的进程的信息.有一个手册页描述了可用的大部分内容.


t0m*_*13b 1

查看 /proc 目录,其中有一个虚拟文件列出了系统中运行的所有进程,甚至二进制程序 ps 实际上也在 /proc 目录中打开该文件以输出进程/pid 列表。

Linux ProcFs 指南 Linux Proc 文件系统作为程序员的工具