在操作系统类(class)的介绍中,我们介绍了 /proc
目录以及许多可用于访问存储在 /中可用的进程 ID 中的数据的功能。过程
。
当我在学校托管的 UNIX 服务器上尝试学习的一些命令(以及我查找的一些命令)时,我注意到我创建的进程中存在的一些子目录是一种名为“TeX 字体度量数据”或 .tfm
文件。我认为这就是我的教授向我们展示如何从状态和 map 等目录获取数据时使用的文件类型。
当我输入命令 cat/proc/(PID)/status
来查看状态文件时,我得到了随机分类的字符和空格。当我在学校 Linux 服务器中创建的进程上尝试相同的命令时,我看到了我期望在状态和映射文件中看到的信息。
我的问题是:
为什么 Unix 服务器从我的进程的 /proc/(PID)/status
文件中生成随机字符,而 Linux 服务器却为我提供了我期望从同一命令中获得的数据?另外有没有办法通过访问 /proc
目录来访问 Unix /proc
数据?
最佳答案
您熟悉的 Linux procfs,又名 /proc/
不是 POSIX 东西。它是特定于操作系统的,多个操作系统恰好实现了类似的东西,也称为 /proc
。
因为没有正式的标准涵盖它,所以它在任何实现它的类 *nix 系统上都允许/将会有所不同。
我对/proc/(PID)/status 的猜测是,您的 UNIX 正在以二进制形式转储进程状态,而不是易于阅读的纯文本。
另请参阅: Knowing the process status using procf/<pid>/status
如果您可以确定您使用的是什么 Unix(很可能是 Solaris,因为有免费版本),您应该能够找到更具体的答案。
关于linux - Unix 和 Linux/proc PID 系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30062404/