gpt4 book ai didi

c - 从 C 代码获取当前使用的文件描述符的计数

转载 作者:IT王子 更新时间:2023-10-29 00:21:08 28 4
gpt4 key购买 nike

是否有 C API 来获取:

  1. 系统范围内当前使用的文件描述符
  2. 当前进程当前使用的文件描述符

最佳答案

对于当前进程计数,您可以使用 getrlimit 获取文件描述符限制,然后遍历从 0 到该限制的所有整数并尝试调用 fcntl F_GETFD 命令。它只会在实际打开的文件描述符上成功,让您计算它们。

编辑:我现在有了更好的方法。获得 rlimit 后,为每个 fd 创建一个大型数组 struct pollfd(如果可能,尽可能大;否则你可以将其分解为多个运行/调用)在范围内并且 events 成员设置为 0。使用 0 超时调用数组上的 poll,并在 POLLNVAL 标志中查找 revents 每个成员。这将告诉您在一组潜在的巨大 fd 中哪些是无效的单个系统调用,而不是每个 fd 一个系统调用。

关于c - 从 C 代码获取当前使用的文件描述符的计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7976769/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com