folgendes Problem:
Ich starte aus einem Python-Programm heraus mehrere Programme unter Windows durch
Code: Alles auswählen
processes = (Popen(cmd, shell=True, stdout=PIPE) for cmd in list_commands)
Die Liste der Kommandos beinhaltet jeweils einen Pfad zu einer Batch-Datei, die dann ausgeführt wird.
Nun werden nur so viele Progamme parallel gestartet, wie ich vorher festlege:
Code: Alles auswählen
running_processes = list(islice(processes, max_process_number))
So lange, bis alle Programme (Prozesse) durchlaufen sind.
Nun möchte ich einen Timeout einbauen, welcher das laufende Programm bei Zeitüberschreitung beenden und erneut starten soll.
Hier liegt nun mein Problem - mit
Code: Alles auswählen
process.kill()
Könnt ihr mir da irgendwie helfen, bzw. ist das überhaupt möglich?
Habe schon einiges gelesen, das sowas auf Unix-Systemen in Verbindung mit der Signal-Bibliothek funktioniert - aber leider nicht unter Windows.