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:
#!/usr/bin/python2.4
import subprocess
p = subprocess.Popen(['ls', '-l', '/etc'],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
out, err = p.communicate()
No entanto, sinto alguma descamação: às vezes, p.communicate () lançaria
OSError: [Errno 10] No child processes
O que pode causar essa exceção? Existe algum determinismo ou condição de raça aqui que pode causar flakiness?