计算Linux中文件描述符的重复数

时间:2014-12-23 16:10:26

标签: linux file-descriptor dup

在Linux中,可以使用dup command family复制文件描述符。

有没有办法通过系统调用获取文件描述符的重复数量?

1 个答案:

答案 0 :(得分:1)

尝试在开放描述符上使用fstat()。此系统调用返回struct stat。重复描述符指的是同一设备上的同一个i-node(st_dev成员st_inostruct stat)。

通过遍历所有打开的描述符运行循环(您可以安全地运行从0getrlimit(RLIMIT_NOFILE, ...)的循环 - stat()将为关闭的描述符返回-1)并检查唯一的{{1} }和st_dev你会发现重复。

更新:

在Linux上仔细查看st_ino命令之后,看起来您可以通过查看fuser文件夹找到多个进程的此信息(构建所有文件或&#34打开的文件摘要;有趣&# 34;过程)。

FreeBSD上的

类似的技巧是由/proc/PIF/fd/命令完成的(没有挂载的fstat文件系统),但这种方法可能不适用于Linux(还没有检查过)深)。