考虑我有一个名为a.out
的流程,在该流程中,我使用open()
函数打开了10个文件。
考虑到我得到最后一个描述符的时间是13.所以我需要知道是否有任何方法可以在此过程中找到最后打开的描述符。
为此,我正在使用getrlimit
这样的
if(getrlimit(RLIMIT_NOFILE,&r1)<0)
perror("error");
但是当我开始这样做时,我的系统会得到4096。那有什么办法吗?
答案 0 :(得分:1)
没有(明智的)魔术方法来做到这一点。你必须在某个变量中记住它。每次打开文件时,请更新此变量。
(getrlimit
RLIMIT_NOFILE
告诉您可以打开的文件数量,而不是打开的数量。