【问题标题】:Learning Unix and C — viewing the process, file and v-node tables学习 Unix 和 C——查看进程、文件和 v-node 表
【发布时间】:2013-09-12 07:42:00
【问题描述】:

我目前正在阅读Advanced Programming in the Unix Environment一书中有关进程表、文件表和v-node表的内容。

为了帮助我理解,能够查看进程表、文件表和 v-node 表以及它们之间的关系会很有用。在编写和调试 c 代码时如何查看这些内部结构?

我尝试使用来自psls 的输出将内部结构信息拼凑在一起,并在纸上勾勒出关系以可视化结构,但这很慢。

网上似乎有很多关于查看进程表的帖子,但没有查看进程表、文件表和v-node表及其关系。

【问题讨论】:

  • 不要delete and re-post (10k) 来“删除”接近投票。删除您自己的帖子不利于您帐户的健康。继续之前的 cmets,现在您未通过“您尝试过什么”/“您对此进行了哪些研究以及您在发现的内容中不了解什么”测试。搜索“linux c 进程表”会给出一些提示,包括这里的 SO。
  • 啊,谢谢马特。我认为因为我稍微改变了问题,原来的 cmets 不再适用。我并没有试图删除接近投票。
  • "... 在纸上勾勒出关系..." 真的吗?我想你想编码?您尝试过什么代码?你读的是什么资料?这是一个针对特定编程问题的网站。
  • 我正在勾勒内部结构中的关系,以帮助“理解”幕后发生的事情。请参阅trojanfoe's 的回答,因为他一针见血。
  • 我明白你做了什么。我的评论是告诉您您的问题仍然不符合 Stack Overflow“您尝试过什么”规则。并重复您删除的帖子中的建议:在此站点上搜索“linux C 进程表”会为您提供该建议。您在之前的帖子中删除的 Jonathan 的建议也很好,并且会引导您做出同样的事情。

标签: c linux unix file-io process


【解决方案1】:

我认为您所问的大部分内容都由procfs 虚拟文件系统公开,安装为/proc

顶级/proc 目录包含每个正在运行的进程的进程ID,以目录的形式呈现。

在每个进程目录中都有包含进程信息的文件和子目录,其中一个子目录是/proc/XXX/fd/,其中包含进程打开的文件。

有关详细信息,请参阅以下文档:

http://www.tldp.org/LDP/Linux-Filesystem-Hierarchy/html/proc.html http://www.thegeekstuff.com/2010/11/linux-proc-file-system/

或者当你谷歌“linux /proc 文件系统”时显示的任何其他内容。

【讨论】:

    猜你喜欢
    • 2013-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-26
    相关资源
    最近更新 更多