Popen.communicate () löst OSError aus: "[Errno 10] Keine untergeordneten Prozesse"

Ich versuche, einen untergeordneten Prozess zu starten und seine Ausgabe unter Linux von Python mithilfe des Subprozessmoduls abzurufen:

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

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

Allerdings habe ich etwas Flakiness: Manchmal würde p.communicate () werfen

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

Was kann diese Ausnahme verursachen? Gibt es hier einen Nichtdeterminismus oder eine Rassenbedingung, die zu Schuppenbildung führen kann?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage