0

如何查找我的 Perl 程序打开的文件数?当然,我可以使用类似的东西

scalar( my @a = glob "/proc/$$/fd/*" );

但它看起来有点hacky......我应该忽略一些非常简单的东西。

4

3 回答 3

1

fstat()您可以使用call 或call扫描从 0 到 getrlimit(RLIMIT_NOFILE) 的所有可能的文件句柄fcntl(fd, F_GETFL)

但是,使用其中任何一个都将比简单地查看/proc/self/fd/*. 而且,它们仍然依赖于某些 Linux 主义,并且不会使您的程序具有可移植性。

于 2012-11-10T22:30:43.587 回答
0

这里有一个类似的问题 How to find open global filehandles in a perl program

您需要对其进行一些更改以满足您的要求

于 2012-11-10T06:38:58.583 回答
-1

你可以使用 lsof 来实现,例如。lsof /|wc -l 应该可以正常工作

于 2012-11-10T07:16:01.280 回答