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:


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


More information about the Python-list mailing list