对于我的操作系统类介绍,我们介绍了/proc
目录以及可用于访问存储在/proc
中可用的进程ID中的数据的许多功能。
当我在我学校托管的UNIX服务器上尝试学习一些命令(以及一些我查找过的)时,我注意到我创建的进程中存在的一些子目录是一个名为“ TeX字体度量标准数据“或.tfm
文件。我想这是我教授向我们展示如何从状态和地图等目录中获取数据时使用的文件类型。
当我输入命令cat /proc/(PID)/status
以查看状态文件时,我得到了随机的各种字符和空白区域。当我在我的学校Linux服务器上创建的进程上尝试相同的命令时,我看到了我希望在状态和映射文件中看到的信息。
我的问题是:
为什么Unix服务器会从我的进程的/proc/(PID)/status
文件中生成随机字符,而Linux服务器给出了我期望从同一命令获得的数据?还有办法通过访问/proc
目录来访问Unix /proc
数据吗?
答案 0 :(得分:3)
您熟悉的Linux procfs,又名/proc/
不是POSIX的东西。它特定于操作系统和多个操作系统恰好实现了类似的事物/proc
。
因为没有正式的标准涵盖它,所以在任何实现它的类似nix的系统上允许/将会有所不同。
我对/ proc /(PID)/ status的猜测是你的UNIX以二进制形式转储进程状态而不是简单的纯文本。
另见: Knowing the process status using procf/<pid>/status
如果您可以确定您所使用的Unix(可能是Solaris,因为那里是免费版本),您应该能够找到更具体的答案。