【问题标题】:Read File Descriptor Table programmatically in C在 C 中以编程方式读取文件描述符表
【发布时间】:2019-03-25 21:33:09
【问题描述】:

使用 fork() 调用创建的子进程继承其父进程的文件描述符表。在我的子进程中,我想知道它从其父进程继承的文件描述符(以及它们各自的文件指针或它指向的文件名)。我知道这些条目可以存储在子进程继承的变量中。但是,我想知道一种检索这些信息的编程方式。

【问题讨论】:

  • 检索它的编程方法是完全按照您所说的您已经知道可以做的事情:将名称及其关联的文件指针存储在一个关系结构中,之后子进程可以引用该结构叉子。除此之外的任何事情充其量都是highly platform-dependent,而且不太可能。

标签: c linux file-descriptor


【解决方案1】:

由于您将其标记为 Linux,因此您可以查看 /proc/self/fd/*/proc/self/fdinfo/*。例如,要获取文件名,可以使用readlink

【讨论】:

    【解决方案2】:

    您可以从 0 开始遍历所有文件描述符并将它们传递给fstat

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-13
      • 1970-01-01
      相关资源
      最近更新 更多