嗨我试图在python中执行小代码,它给出了操作系统错误。
>>> import os
>>> def child():
... pid = os.fork()
... if not pid:
... for i in range(5):
... print i
... return os.wait()
...
>>> child()
0
1
2
3
4
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 6, in child
OSError: [Errno 10] No child processes
我无法弄清楚它为什么会给出OSError。我用谷歌搜索它,它被指出为python 2.6或之前的bug。我正在使用python2.7。
答案 0 :(得分:3)
你错过了别的。因此,您在子进程中调用os.wait()
(没有自己的子进程,因此出错)。
更正后的代码:
import os
def child():
pid = os.fork()
if not pid:
for i in range(5):
print i
else:
return os.wait()
child()