[python-win32] Killing a subprocess spawned by a service
Mark Hammond
skippy.hammond at gmail.com
Wed Jun 19 06:13:37 CEST 2013
The other solutions I can think of are likely heavier and harder than
arranging to spawn the child without shell=1 - so I'd suggest tackling that.
Or *maybe* - you could do something like spawning a thread in the child
process to read from stdin - that's likely to block until the cmd.exe
parent is killed, in which case the read would return with an error - at
which point the child could terminate itself...
Mark
On 19/06/2013 7:51 AM, Patrick Tisdale wrote:
> Hello list,
> I have written a test script to run as a service. The service starts up
> properly, and spawns a subprocess (called test.py) using
> subprocess.Popen. However, I am having no luck killing the subprocess
> when I stop the service. I am using os.kill()
>
> It works fine when running pythonservice.exe in debug mode. But when I
> start it using "net start" the subprocess.Popen.pid matches the "cmd"
> that it spawns (due to shell=True, I suppose). I have tried it without
> shell=True, but can't get the script to run without it.
>
>
> The test script is a simple script that periodically writes to a file.
> The script that I actually need to make work is a twisted twistd (.tac)
> file, which will have multiple TCP connections open, and I need to be
> able to close those connections before it exits.
>
> Any ideas on what I'm missing?
>
> Thanks,
> Patrick Tisdale
>
>
> _______________________________________________
> python-win32 mailing list
> python-win32 at python.org
> http://mail.python.org/mailman/listinfo/python-win32
>
More information about the python-win32
mailing list