Python OSError:[Errno 35]资源暂时不可用
mac os,python2.7 我使用多处理,但失败了:Python OSError:[Errno 35]资源暂时不可用,python,multiprocessing,threadpool,python-multiprocessing,pool,Python,Multiprocessing,Threadpool,Python Multiprocessing,Pool,mac os,python2.7 我使用多处理,但失败了: In [1]: from multiprocessing import Pool In [2]: pool = Pool(30) OSError Traceback (most recent call last) /Users/mac/Documents/python-f/ga_users_v4_multipro.py in <module>()
In [1]: from multiprocessing import Pool
In [2]: pool = Pool(30)
OSError Traceback (most recent call last)
/Users/mac/Documents/python-f/ga_users_v4_multipro.py in <module>()
141
142 if __name__ == '__main__':
--> 143 a,t=main()
144
/Users/mac/Documents/python-f/ga_users_v4_multipro.py in main()
111 date_range.append(t.strftime('%Y-%m-%d'))
112
--> 113 pool = Pool(30)
114 rrr=pool.map(get_report, date_range)
115 pool.close()
/Users/mac/.edm/envs/edm/lib/python2.7/multiprocessing/__init__.pyc in Pool(processes, initializer, initargs, maxtasksperchild)
230 '''
231 from multiprocessing.pool import Pool
--> 232 return Pool(processes, initializer, initargs, maxtasksperchild)
233
234 def RawValue(typecode_or_type, *args):
/Users/mac/.edm/envs/edm/lib/python2.7/multiprocessing/pool.pyc in __init__(self, processes, initializer, initargs, maxtasksperchild)
157 self._processes = processes
158 self._pool = []
--> 159 self._repopulate_pool()
160
161 self._worker_handler = threading.Thread(
/Users/mac/.edm/envs/edm/lib/python2.7/multiprocessing/pool.pyc in _repopulate_pool(self)
221 w.name = w.name.replace('Process', 'PoolWorker')
222 w.daemon = True
--> 223 w.start()
224 debug('added worker')
225
/Users/mac/.edm/envs/edm/lib/python2.7/multiprocessing/process.pyc in start(self)
128 else:
129 from .forking import Popen
--> 130 self._popen = Popen(self)
131 _current_process._children.add(self)
132
/Users/mac/.edm/envs/edm/lib/python2.7/multiprocessing/forking.pyc in __init__(self, process_obj)
119 self.returncode = None
120
--> 121 self.pid = os.fork()
122 if self.pid == 0:
123 if 'random' in sys.modules:
OSError: [Errno 35] Resource temporarily unavailable
[1]中的:来自多处理导入池
在[2]中:池=池(30)
OSError回溯(最近一次调用上次)
/Users/mac/Documents/python-f/ga_Users_v4_multipro.py in()
141
142如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuuuu':
-->143 a,t=main()
144
/main()中的Users/mac/Documents/python-f/ga_Users_v4_multipro.py
111日期\u范围.append(t.strftime(“%Y-%m-%d”))
112
-->113池=池(30)
114 rrr=pool.map(获取报告,日期范围)
115泳池关闭()
/池中的Users/mac/.edm/envs/edm/lib/python2.7/multiprocessing/_init__;.pyc(进程、初始值设定项、initargs、maxtasksperchild)
230 '''
231来自multiprocessing.pool导入池
-->232返回池(进程、初始值设定项、initargs、maxtasksperchild)
233
234 def RawValue(类型代码或类型,*args):
/user/mac/.edm/envs/edm/lib/python2.7/multiprocessing/pool.pyc在u_init__;中(self,processs,initializer,initargs,maxstasksperchild)
157自.\u进程=进程
158自我。_pool=[]
-->159自我重新填充水池()
160
161 self.\u worker\u handler=threading.Thread(
/_repopulate_pool(self)中的Users/mac/.edm/envs/edm/lib/python2.7/multiprocessing/pool.pyc
221 w.name=w.name.replace('Process','PoolWorker')
222 w.daemon=True
-->223 w.启动()
224调试('已添加工作程序')
225
/启动时的Users/mac/.edm/envs/edm/lib/python2.7/multiprocessing/process.pyc(self)
128其他:
129.来自forking import Popen
-->130 self.\u popen=popen(self)
131 _当前_进程。_子项。添加(自我)
132
/Users/mac/.edm/envs/edm/lib/python2.7/multiprocessing/forking.pyc在uuu init_uu(self,process_obj)中
119 self.returncode=无
120
-->121 self.pid=os.fork()
122如果self.pid==0:
123如果系统模块中的“随机”:
OSError:[Errno 35]资源暂时不可用
我用谷歌搜索,但很多人说这是python中的一个已知问题。解决了吗?
有什么解决方案可以解决吗?看起来您已经达到了流程限制。请确保没有太多不需要的流程在运行,并遵循以下指南:it能否清理它分叉的流程?