Prozess Annulieren

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
richardtreier
User
Beiträge: 23
Registriert: Dienstag 29. Dezember 2009, 14:34

Ich habe das Problem, dass mein in wxPython geschriebenes Programm, nachdem es geschlossen wurde, NICHT den prozess beendet. Ich weiß, dass es eine Möglichkeit gibt, prozesse zu beenden, aber google liefert mir nur $h1t...

Wie kann ich meinen jetzigen python prozess killen?
Python 2.6.5 === wxPython 2.8.10.1 uni === py2exe === Win7x86 ultimate
lunar

Du suchst nach der Lösung für das falsche Problem. Die Lösung ist nicht, den Prozess zu töten, sondern vielmehr dafür zu sorgen, dass sich die Anwendung von vorne herein korrekt beendet. Warum das bei Dir nicht funktioniert, lässt sich ohne nähere Informationen allerdings nicht sagen. Zeige doch mal ein kleines Beispiel, welches einen solchen „hängenden“ Prozess erzeugt.
richardtreier
User
Beiträge: 23
Registriert: Dienstag 29. Dezember 2009, 14:34

es liegt bei mir am pdfwindow activex objekt von wxpython; da hab ich schon alles ausprobiert - geht nicht
Python 2.6.5 === wxPython 2.8.10.1 uni === py2exe === Win7x86 ultimate
richardtreier
User
Beiträge: 23
Registriert: Dienstag 29. Dezember 2009, 14:34

ok, hat sich erledigt - hab es im einen meiner alten skripte gefunden, die ich im Papierkorb hatte:

Code: Alles auswählen

        p = os.getpid()
        try:
            handle = win32api.OpenProcess(win32con.PROCESS_TERMINATE, 0, p)
            if handle:
                win32api.TerminateProcess(handle,0)
                win32api.CloseHandle(handle)
        except:
            pass
Python 2.6.5 === wxPython 2.8.10.1 uni === py2exe === Win7x86 ultimate
Warhead
User
Beiträge: 15
Registriert: Montag 28. Juni 2010, 12:54

Hi richardtreier,

poste doch auch bitte Betriebssystem und von Dir verwendete Versionen (Python, wxPython, ggf. Bundler wie z.B. Py2Exe o. PyInstaller).
When altering one's own mind becomes as easy as programming a computer… What does it mean to be human?
richardtreier
User
Beiträge: 23
Registriert: Dienstag 29. Dezember 2009, 14:34

ich habs ja schon herausgefunden, trotzdem danke
Python 2.6.5 === wxPython 2.8.10.1 uni === py2exe === Win7x86 ultimate
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Naja, das Problem ist halt dass das was du hier als "Lösung" gepostet hast, keine Lösung ist.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

Das geht außerdem auch ohne die win32 Erweiterung und etwas kürzer ;)

Code: Alles auswählen

Popen(['taskkill /F /T /PID %i' % pid])
„Lieber von den Richtigen kritisiert als von den Falschen gelobt werden.“
Gerhard Kocher

http://ms4py.org/
Warhead
User
Beiträge: 15
Registriert: Montag 28. Juni 2010, 12:54

... was natürlich ebenfalls keine "Lösung" darstellt.

Das ganze sind Workarounds/Hacks, lösen aber das tatsächliche Problem nicht und "verschleiern/maskieren" sogar ggf. noch weitere Probleme.

Mein Tipp: weiter forschen! Da geht noch mehr ;).
When altering one's own mind becomes as easy as programming a computer… What does it mean to be human?
richardtreier
User
Beiträge: 23
Registriert: Dienstag 29. Dezember 2009, 14:34

aber dieses "Schließt nicht"-Problem existiert NUR, wenn ich ein pdf activex objekt benutze, welches in meinem Fall unverzichtbar ist.
Python 2.6.5 === wxPython 2.8.10.1 uni === py2exe === Win7x86 ultimate
BlackJack

@richardtreier: Dann musst Du halt rausfinden woran das liegt. Kann es sein, dass man da am Programmende irgendetwas explizit machen muss, wie das Objekt freigeben, eine Verbindung trennen, oder so!?
Dav1d
User
Beiträge: 1437
Registriert: Donnerstag 30. Juli 2009, 12:03
Kontaktdaten:

Und was ist ein "pdf activex objekt"? (aus wxpython kommts schonmal nicht)
the more they change the more they stay the same
richardtreier
User
Beiträge: 23
Registriert: Dienstag 29. Dezember 2009, 14:34

from wx.lib.pdfwin import PDFWindow

schau in der wxpython demo nach ;)
Python 2.6.5 === wxPython 2.8.10.1 uni === py2exe === Win7x86 ultimate
Dav1d
User
Beiträge: 1437
Registriert: Donnerstag 30. Juli 2009, 12:03
Kontaktdaten:

:oops: peinlich...
the more they change the more they stay the same
Antworten