Can Python kill a child process that keeps on running?

Serge Orlov Serge.Orlov at gmail.com
Tue May 2 03:21:24 CEST 2006


I. Myself wrote:
> Suppose we spawn a child process with Popen.  I'm thinking of an
> executable file, like a compiled C program.
> Suppose it is supposed to run for one minute, but it just keeps going
> and going.  Does Python have any way to kill it?
>
> This is not hypothetical; I'm doing it now, and it's working pretty
> well, but I would like to be able to handle this run-on condition.  I'm
> using Windows 2000, but I want my program to be portable to linux.

On linux it's pretty easy to do, just setup alarm signal. On windows
it's not so trivial to the point you cannot do it using python.org
distribution, you will need to poke in low level C API using win32
extensions or ctypes. AFAIK twisted package <http://twistedmatrix.com>
has some code to help you. Also take a look at buildbot sources
<http://buildbot.sf.net> that uses twisted. Buildbot has the same
problem as you have, it needs to kill run away or non-responding
processes.




More information about the Python-list mailing list