Von Teilprozess.Popen auf multiprocessing

Bekam ich eine Funktion aufruft, die einen Prozess mit subprocess.Popen in der folgenden Weise:

    def func():
        ...
        process = subprocess.Popen(substr, shell=True, stdout=subprocess.PIPE)

        timeout = {"value": False}
        timer = Timer(timeout_sec, kill_proc, [process, timeout])
        timer.start()

        for line in process.stdout:
            lines.append(line)

        timer.cancel()
        if timeout["value"] == True:
            return 0
        ...

Rufe ich diese Funktion auf eine andere Funktion mit einer Schleife (e.g von range(1,100) ) , wie kann ich mehrere Aufrufe der Funktion mit multiprocessing? dass jedes mal, wenn mehrere Prozesse parallel laufen

Prozesse nicht voneinander abhängen, die einzige Einschränkung ist, dass jeder Prozess sein würde "arbeiten", nur auf einem index (e.g keine zwei Prozesse arbeiten auf index 1)

Vielen Dank für Ihre Hilfe

  • Geben Sie alle Argumente in substr?
  • Ja, substr ist anders, jeder Anruf
  • Ist die Art von Prozess.stdout dann kompatibel mit Multiprozess.Rohr?
InformationsquelleAutor Dor Cohen | 2016-10-09
Schreibe einen Kommentar