杀死在 Linux 下使用shell=True
传递给subprocess.Popen
的构造函数创建的子进程只会杀死 shell 而不会杀死由 shell 创建的进程(请参阅如何终止使用 shell=True 启动的 python 子进程)。但是python -c "import subprocess; subprocess.Popen(['ping', '-t', 'google.com'], shell=True).terminate()"
在 Windows Vista x64 SP3 和 Python 2.7.3 64bit 下运行会终止该ping
进程。在 Windows 下subprocess.Popen.terminate()
调用 TerminateProcess
. 但是此功能的文档说明
终止指定进程及其所有线程。
没有提到终止整个进程树。我错过了什么?