一、查看所有用户的文件描述符占用情况,可以使用以下命令:
lsof
二、查看当前占用的文件描述符数量
# lsof -u $(whoami) | wc -l
153
三、请注意,对于特定的进程,可能还有进程级别的文件描述符限制。要查看特定进程的文件描述符限制,可以使用ulimit
命令,例如:
ulimit -n
# ulimit -a
core file size (blocks) (-c) unlimited
data seg size (kb) (-d) unlimited
scheduling priority (-e) 0
file size (blocks) (-f) unlimited
pending signals (-i) 1468
max locked memory (kb) (-l) 64
max memory size (kb) (-m) unlimited
open files (-n) 1024
POSIX message queues (bytes) (-q) 819200
real-time priority (-r) 0
stack size (kb) (-s) 8192
cpu time (seconds) (-t) unlimited
max user processes (-u) 1468
virtual memory (kb) (-v) unlimited
file locks (-x) unlimited
#
四、测试一下不停的fopen,然而不fclose的后果,程序崩溃。