对于学术界来说,这是一个愚蠢的问题;UID
如果需要,我知道从哪里获取信息。根据 proc(5) 手册页:
/proc/[number]/stat
Status information about the process. This is used by ps(1). It is defined in /usr/src/linux/fs/proc/array.c.
/proc/[number]/statm
Provides information about memory status in pages. The columns are:
/proc/[number]/status
Provides much of the information in /proc/[number]/stat and /proc/[number]/statm in a format that’s easier for humans to parse.
Run Code Online (Sandbox Code Playgroud)
我觉得有趣的是stat
不包含有关的信息UID
,EUID
等的过程中,还没有status
做。一种奇怪的是,人们被迫改用“人类可读”的文件。有没有人碰巧知道这个副手的原因?
在处理数据时,大多数时候,关键是仅保留与您的特定任务集相关的数据,仅此而已。暴露的大部分数据/proc
都是出于单一目的,即需要对其具有可见性的工具等。
鉴于这些评论,我会假设三件事/proc/[number]/stat
:
/usr/src/linux/fs/proc/array.c
。ps
。注意:对于#2。这是与 相关的流程数据ps
。用户拥有的进程保存在内核其他地方的不同数据结构中。
另一方面,对于/proc/[number]/status
,注释几乎可以告诉您这些数据的用途,即人类阅读它的目的。因此,从工具的角度来看,内核中的这个节点很可能没有其他用途,然后将来自其他来源的数据整理到一个地方供用户使用。
如果您需要更多证明,请查看我不久前回答的这个问题,标题为:/proc/meminfo MemTotal =? 。这个问题涵盖了/proc/meminfo
,这里也是一个类似的问题。一些数据在内核启动期间在dmesg
日志输出下公开。然而,尽管这些数据与记忆相关并且/proc/meminfo
被认为相关,但这些数据并不存在,同样是因为它对以下方面没有用处:
/proc/meminfo
/proc/meminfo
。