Run process with timeout

Alex Martelli aleaxit at yahoo.com
Mon Oct 17 07:29:07 EDT 2005


Natan <natanvivo at gmail.com> wrote:

> Hi.
> 
> I have a python script under linux where I poll many hundreds of
> interfaces with mrtg every 5 minutes. Today I create some threads and
> use os.system(command) to run the process, but some of them just hang.
> I would like to terminate the process after 15 seconds if it doesn't
> finish, but os.system() doesn't have any timeout parameter.
> 
> Can anyone help me on what can I use to do this?

Use the subprocess module.  With a subprocess.Popen object, you can then
sleep a while, check (with .poll()) if it's finished, otherwise kill it
(use its .pid attribute).


Alex



More information about the Python-list mailing list