linux - Unix 和 Linux/proc PID 系统

标签 linux unix process pid

在操作系统类(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/

相关文章:

bash - 获取当前日期之前的 3 个日期 UNIX

ruby - 像 Ruby 'exec' 但对于 Node.js?

c# - 使用 System.Diagnostic Process 时,我会错过进程开始和捕获输出开始之间的一些输出行吗?

linux - 如何在 Linux 中为每个输出行列出一个文件名?

linux - Linux下如何实现pipe?

linux - 从脚本中提取邮件 ID

c++ - 对 mmap 和 munmap 的 undefined reference

c - 使用 fscanf() 在 C 中以科学格式读取数字时出现问题

linux - 如何执行 url 并从 bash shell 脚本解析它?

python - Windows 上与 Python 共享内存中的信号量?