Terminating a subprocess '.exe'

Fredrik Lundh fredrik at pythonware.com
Fri Mar 24 08:15:40 CET 2006


"Ernesto" wrote:

> I launch a Windows executable and wish to close it from Python.  The
> code is below.  Normally, my program waits for rib.exe to finish, but
> I'd like to be able to close it from python if possible.  (I suppose if
> I was going to do this, I wouldn't use .wait()  )  Any ideas ?
>
> # Launch a program without launching a whole new cmd prompt
> def launchWithoutConsole(command, args):
>     """Launches 'command' windowless and waits until finished"""
>     startupinfo = subprocess.STARTUPINFO()
>     startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
>     return subprocess.Popen([command] + args,
> startupinfo=startupinfo).wait()
>
> ribHandle = launchWithoutConsole("rib.exe",["recovery"])
>
> # Is there a way to close "rib.exe" using ribHandle ?

for 2.4 and earlier, see:

http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/347462

for 2.5 (upcoming) and later, you can use either the ctypes method
or the _subprocess.TerminateProcess() call.

</F>






More information about the Python-list mailing list