Subprocess and time-out

Jeremy Sanders jeremy+plusnews at jeremysanders.net
Thu Jun 16 18:53:30 CEST 2005


On Thu, 16 Jun 2005 18:36:52 +0200, Gilles Lenfant wrote:

> Grabbing the various docs of Python, I didn't find how to do this :
> 
> I Use popen2 to run wvware that transforms lots of M$ word docs to plain
> text. Sometimes wvware runs in a deadlock and I can't control this from
>   Python app.
> 
> I need to stop wvware processing after 30 seconds (considered deadlocked)
> and to process the next file.
> 
> Unfortunately, I didn't find any pythonic stuff to control the time spent
> runnning subprocesses (and kill'em if needed) launched with popen.
> 
> An hint is welcome. Many thanks by advance.

Is this Unix? If you're using the Popen3/Popen4 objects from popen2
module, you could take the pid of the popened process, and fork your
program. In the forked child process you could wait for an interval, then
do os.wait with W_NOHANG to see whether the process has stopped, and if
not kill it with os.kill.

Jeremy




More information about the Python-list mailing list