Popen.communicate () lança OSError: “[Errno 10] Nenhum processo filho”

Eu estou tentando iniciar um processo filho e obter sua saída no Linux do Python usando o módulo de subprocesso:

<code>#!/usr/bin/python2.4
import subprocess

p = subprocess.Popen(['ls', '-l', '/etc'],
                   stdout=subprocess.PIPE,
                   stderr=subprocess.PIPE)
out, err = p.communicate()
</code>

No entanto, sinto alguma descamação: às vezes, p.communicate () lançaria

<code>OSError: [Errno 10] No child processes
</code>

O que pode causar essa exceção? Existe algum determinismo ou condição de raça aqui que pode causar flakiness?

questionAnswers(4)

yourAnswerToTheQuestion