multiprocessing.Process run-Methode wird nicht ausgeführt

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
anogayales
User
Beiträge: 456
Registriert: Mittwoch 15. April 2009, 14:11

Hallo allerseits,

ich bin gerade am Debuggen eines größeren Programms beim dem eine von multiprocessing.Process abgeleitete Klasse über start() aufgerufen wird. Leider wird nie die run-Methode des entsprechenden Prozesses aufgerufen. Ich tippe auf ein Deadlock, der irgendwo ganz Tief versteckt ist.

Wenn ich Breakpoints setzte und mit dem Debuggen beginne funktioniert es, sprich die run Methode wird korrekt aufgerufen.

Nun die Frage. Wie finde ich raus, was wirklich passiert? Wenn ich den Prozess vom Hauptthread inspiziere erhalte ich, dass er "started" ist. Wie gehe ich weiter?

Grüße,
anogayales
BerryBlue
User
Beiträge: 41
Registriert: Mittwoch 9. November 2011, 19:57

ich verstah ehlich gesagt deine Frage ned
Ich weis erst was ich denke, wenn ich höre was ich sage!
anogayales
User
Beiträge: 456
Registriert: Mittwoch 15. April 2009, 14:11

Kurz und verständlich:

Ich möchte einen Prozess starten, indem ich die start Methode auf diesem Objekt aufrufe. Die run Methode wird aber nicht aufgerufen, laut Dokumentation sollte diese aber aufgerufen werden.
start()
Start the process’s activity.

This must be called at most once per process object. It arranges for the object’s run() method to be invoked in a separate process.
Grüße,
anogayales
anogayales
User
Beiträge: 456
Registriert: Mittwoch 15. April 2009, 14:11

Hat keiner einen Plan wie ich an das Problem rangehen kann? Zumindest irgendwelche Literatur?

Anscheinend hängt sich der erstelle Prozess in der Verarbeitung des Runaufrufs auf. Sobald ich das Hauptprogramm kille fangen die aufgerufenen Programme für ein paar Sekunden an zu arbeiten.

Es wäre nett, wenn mich jemand in die richtige Richtung verweisen könnte.

Grüße,
anogayales
Antworten