对于操作系统类的介绍,我们介绍了/proc
目录以及许多可用于访问存储在/proc
中的进程ID中存储的数据的function。
当我尝试了一些在我的学校托pipe的UNIX服务器上学到的命令(还有一些是我查阅的)时,我注意到我创build的一个进程中存在的一些子目录是一个名为“TeX字体指标数据”或.tfm文件。 我想这是我的教授告诉我们如何从状态和地图这样的目录中获取数据时使用的文件types。
当我input命令cat /proc/(PID)/status
来查看状态文件时,我得到了一个随机的字符和空白的分类。 当我在我学校的Linux服务器上创build的过程中尝试了相同的命令时,显示了我期望在状态和映射文件中看到的信息。
我的问题是:
为什么Unix服务器从我的进程的/proc/(PID)/status
文件中产生随机字符,而Linux服务器给了我同样命令期望的数据? 还有没有办法通过访问/proc
目录访问Unix /proc
数据?
你熟悉的Linux procfs,又名/proc/
不是POSIX的东西。 它是特定于操作系统的,多个操作系统恰巧实现了类似的东西,也被称为/proc
。
因为没有正式的标准覆盖它,所以它可以在任何实现它的类似nix的系统上有所不同。
我用/ proc /(PID)/ status的猜测是你的UNIX以二进制形式转储进程状态,而不是简单的读取纯文本。
另请参阅: 使用procf / <pid> / status了解进程状态
如果你能确定你正在使用的是什么Unix(可能是Solaris,因为有一个免费的版本),你应该能够找到一个更具体的答案。