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?
Prozess Annulieren
-
- User
- Beiträge: 23
- Registriert: Dienstag 29. Dezember 2009, 14:34
Python 2.6.5 === wxPython 2.8.10.1 uni === py2exe === Win7x86 ultimate
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.
-
- 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
-
- 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
Hi richardtreier,
poste doch auch bitte Betriebssystem und von Dir verwendete Versionen (Python, wxPython, ggf. Bundler wie z.B. Py2Exe o. PyInstaller).
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?
-
- 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
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/
Gerhard Kocher
http://ms4py.org/
... 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
.
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?
-
- 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
@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!?
Und was ist ein "pdf activex objekt"? (aus wxpython kommts schonmal nicht)
the more they change the more they stay the same
-
- User
- Beiträge: 23
- Registriert: Dienstag 29. Dezember 2009, 14:34
from wx.lib.pdfwin import PDFWindow
schau in der wxpython demo nach
schau in der wxpython demo nach

Python 2.6.5 === wxPython 2.8.10.1 uni === py2exe === Win7x86 ultimate

the more they change the more they stay the same