【问题标题】:Unix and Linux /proc PID systemUnix 和 Linux /proc PID 系统
【发布时间】:2015-05-05 20:13:21
【问题描述】:

在我对操作系统类的介绍中,我们被介绍了/proc 目录和许多可用于访问存储在/proc 中可用的进程ID 中的数据的功能。

当我在学校托管的 UNIX 服务器上尝试学习的一些命令(以及我查找的一些命令)时,我注意到我创建的进程中存在的一些子目录是一种名为“ TeX 字体度量数据”或.tfm 文件。我想这就是我的教授向我们展示如何从状态和地图等目录中获取数据时使用的文件类型。

当我输入命令cat /proc/(PID)/status 来查看状态文件时,我得到了随机的各种字符和空格。当我在我在学校 Linux 服务器中创建的进程上尝试相同的命令时,我看到了我希望在状态和映射文件中看到的信息。

我的问题是:

为什么 Unix 服务器从我的进程的 /proc/(PID)/status 文件中生成随机字符,而 Linux 服务器却给了我从同一命令得到的数据?还有有没有办法通过访问/proc目录来访问Unix/proc数据?

【问题讨论】:

标签: linux unix process pid


【解决方案1】:

你熟悉的 Linux procfs,也就是 /proc/ 不是 POSIX 的东西。它是特定于操作系统的,多个操作系统恰好实现了类似的东西,也称为/proc

因为没有正式的标准涵盖它,所以在任何实现它的*nix 类系统上都允许/将有所不同。

我对 /proc/(PID)/status 的猜测是,您的 UNIX 正在以二进制形式转储进程状态,而不是易于阅读的纯文本。

另请参阅: Knowing the process status using procf/<pid>/status

如果您可以确定您使用的是什么 Unix(很可能是 Solaris,因为有免费的变体),您应该能够找到更具体的答案。

【讨论】:

    猜你喜欢
    • 2015-08-24
    • 1970-01-01
    • 1970-01-01
    • 2010-11-26
    • 2021-05-26
    • 1970-01-01
    • 1970-01-01
    • 2010-09-21
    • 2014-03-15
    相关资源
    最近更新 更多