【发布时间】:2017-06-14 10:23:53
【问题描述】:
我正在寻找有关以下 sn-p 错误的解释:
#!/usr/bin/env python3
import os, sys
if __name__ == '__main__':
while True:
pid = os.fork()
if pid == 0:
sys.exit()
elif pid > 0:
pass
# os.waitpid(pid, 0)
else:
sys.exit()
这将产生许多进程(在产生时退出的进程)。
这最终会导致BlockingIOError 显示如下:
Traceback (most recent call last):
File "./asd.py", line 7, in <module>
pid = os.fork()
BlockingIOError: [Errno 35] Resource temporarily unavailable
但是当 os.waitpid 调用被取消注释时,一切似乎都很好。
为什么会出现这个错误?这个waitpid 调用可能会改变什么?
【问题讨论】:
标签: python macos python-3.x fork