"Steven Bethard" <steven.bethard at gmail.com> wrote: > On 4/3/07, Christian Heimes <lists at cheimes.de> wrote: > > > I'd be willing to look at adding it, if the group thinks it's the right > > > thing to do. > > > > I like the idea and I'm proposing to add two more methods to subprocess > > Popen. > > > > class Popen(...): > > ... > > def signal(self, signal): > > """Send a signal to the process (UNIX only) > > > > signal is constant from the signal module > > """ > > > > def terminate(self, force=False): > > """Terminate the process > > > > On UNIX terminate(False) is equivalent to signal(SIGTERM) and > > terminate(True) to signal(SIGKILL). > > > > On Windows ... (does Windows support a forced terminate?) > > """ > > Another difference I believe is that TerminateProcess on Windows > doesn't kill the tree of processes like kill would. It would be nice > if Popen.terminate() did the same thing on both Unix and Windows. (I > assume that would mean making *all* the appropriate TerminateProcess > calls.) To kill child processes on Windows, one must walk the tree and kill those as well. wxWidgets has an implementation in src/msw/utils.cpp: http://cvs.wxwidgets.org/viewcvs.cgi/wxWidgets/src/msw/utils.cpp See the differences between wxKill and wxKillAllChildren . I would also mention that wxWidgets implements SIGKILL as TerminateProcess(), and SIGTERM as sending a QUIT message to the process. - Josiah
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4