【发布时间】:2011-06-27 03:31:23
【问题描述】:
我尝试了 terminate() 和 kill(),但都无法停止我在 python 代码中启动的子进程。
还有其他方法吗?
在 Windows 上使用 Python 2.7
我也尝试了以下没有结果...
os.kill(p.pid, signal.SIGTERM)
和
import ctypes
PROCESS_TERMINATE = 1
handle = ctypes.windll.kernel32.OpenProcess(PROCESS_TERMINATE, False, theprocess.pid)
ctypes.windll.kernel32.TerminateProcess(handle, -1)
ctypes.windll.kernel32.CloseHandle(handle)
【问题讨论】:
-
这个子进程是启动其他进程的shell脚本吗?我在这里记录了一个类似的问题:stackoverflow.com/questions/6102535/…
-
你是怎么开始的?
-
使用 subprocess.Popen 启动
-
你在调用
subprocess.Popen()时使用shell=True吗? -
使用 TerminateProcess 不好。当你试图杀死它时,你确定该进程仍在运行?
标签: python subprocess