Ubuntu 24.04终端中Python 3.12.3多进程报错OSError: [Errno 24] Too many open files的解决求助
Ubuntu 24.04终端中Python 3.12.3多进程报错OSError: [Errno 24] Too many open files的解决求助
各位好,我最近碰到一个棘手的问题:在Ubuntu 24.04的系统终端里运行一段Python多进程代码时,每次执行到第508个进程就会抛出错误:
OSError: [Errno 24] Too many open files
我大概算了下,这应该是每个进程都会留下两个未关闭的文件描述符,累积到最后就触碰到系统的文件描述符上限了。
我的代码如下:
from multiprocessing import Process def do_job(task): print("Task no " + str(task)) def main(): number_of_processes = 1000 processes = [] for i in range(number_of_processes): p = Process(target=do_job, args=(i,)) processes.append(p) # creating processes for p in processes: p.start() p.join() return True if __name__ == "__main__": main()
特别奇怪的是,这段代码在VS Code的终端里运行就能顺利完成,完全不会报错。我翻了好多个类似的问题帖子,但至今都没找到能解决我这个情况的方案,想请教下各位大佬有没有什么思路或者解决办法?
备注:内容来源于stack exchange,提问作者Kyriakos
相关产品推荐
相关产品推荐

