[sorry if you see 2 copies of this]

Facundo Batista wrote:
> The problem of TerminateProcess is that I need the handle of the
> process.
> 
> I don't like the idea of rely on the private _handle and do:
> 
>   process = subprocess.Popen(...)
>   ...
>   subprocess.TerminateProcess(int(process._handle), -1)
> 
> so, I'll end doing this:
> 
>   process = subprocess.Popen(...)
>   ...
>   handle =ctypes.windll.kernel32.OpenProcess(1, False, process.pid)
>   ctypes.windll.kernel32.TerminateProcess(handle, -1)
>   ctypes.windll.kernel32.CloseHandle(handle)
> 
> Is this ok?

Would it not be better to put a platform-independent version of this 
into subprocess, so that this code doesn't have to be duplicated all 
over the place?  Maybe a method on a Popen object called terminate()? 
That way you wouldn't even need ctypes, since you could look at the 
_handle without feeling bad about it!

Eric.
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to