我遇到的问题是在 python 脚本中我的 mac os x 上出现异常 OSError 24(“打开的文件太多”)。
我不知道是什么导致了这个问题。lsof -p 显示大约 40-50 行,我的 ulimit 是 1200(我检查使用
resource.getrlimit(resource.RLIMIT_NOFILE)
),返回元组 (1200, 1200)。所以我甚至没有超过限制。
我的脚本产生了许多子进程并分配了共享内存段。分配共享内存段时发生异常。我使用sysv_ipc 模块。
另外我知道我允许的共享内存段的总数足够大(128 段),并且命令
ipcs -b -m
给出的数量肯定更少(不超过 40 段)。