OSError в os.wait в python - PullRequest
       36

OSError в os.wait в python

0 голосов
/ 03 апреля 2012

Привет! Я пытаюсь выполнить небольшой код на 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 или ранее.Я использую python2.7.

1 Ответ

3 голосов
/ 03 апреля 2012

Вы пропустили еще.Таким образом, вы вызываете os.wait() в дочерних процессах (у которых нет собственных дочерних элементов, следовательно, ошибка).

Исправленный код ниже:

import os
def child():
    pid = os.fork()
    if not pid:
            for i in range(5):
                    print i
    else:
        return os.wait()

child()
...