Killing processes on Windows

Okay, how do you do it? I.e., what's the recommended way. The usual
os.kill() and wxProcess.Kill() don't seem to be supported (besides which I
might not even have a wxProcess via which to kill).

I see there are some approaches out there for doing this, but what is the
best way to do it within a wxPython context?

The scenario I am contemplating is something like this:

1. Create a process that may take some time (from minutes to hours or even
days) to complete.
2. If it terminates while the user is still running the application that
created it, inform the app and have the app act accordingly.
3. If the user creates one of these processes, terminates the app (logs
off, goes on vacation, whatever) and the later restarts the app and notices
he has a lingering process he wants to kill, he should be able to kill it.
Under this circumstance I think all you would have available is the pid
(which presumably you've stashed somewhere in persistent storage for later
use).

Thoughts on this?

···

--------------------------------------
Gary H. Merrill
Director and Principal Scientist, New Applications
Data Exploration Sciences
GlaxoSmithKline Inc.
(919) 483-8456

wxProcess::Kill is a static method in C++ so you access it in wxPython as wxProcess_Kill(pid, signal), and it doesn't need to have an existing wxProcess instance to work.

···

gary.h.merrill@gsk.com wrote:

Okay, how do you do it? I.e., what's the recommended way. The usual
os.kill() and wxProcess.Kill() don't seem to be supported (besides which I
might not even have a wxProcess via which to kill).

--
Robin Dunn
Software Craftsman
http://wxPython.org Java give you jitters? Relax with wxPython!