为什么 lsof 报告的用户打开文件数量高于 ulimit 规定的允许数量?

为什么 lsof 报告的用户打开文件数量高于 ulimit 规定的允许数量?

我已经检查了用户 kpiserv 的结果

[kpiserv@***** ~]$ lsof -u kpiserv |wc -l  

5358  

[kpiserv@***** ~]$ ulimit -a  

open files                      (-n) 1024

为什么lsof报告的用户打开文件数量高于 ulimit 规定的允许数量?

答案1

打开文件限制是每个进程的。用户可以有多个进程,FD 总数可以大于打开文件限制。

来自 setrlimit(3) 手册页:

RLIMIT_NOFILE
指定一个比该进程可以打开的最大文件描述符数大 1 的值。尝试(open(2)、pipe(2)、dup(2) 等)超过此限制会产生错误 EMFILE。

相关内容