Python子进程kill不';不要释放文件句柄

Python子进程kill不';不要释放文件句柄,python,subprocess,Python,Subprocess,在shell模式下使用subprocess.Popen启动windows可执行文件并将其杀死(而不是让exe完成运行)时,只要python程序正在运行,可执行文件就会保持锁定状态。当shell=False时不会发生这种情况。有人知道这个问题的解决方案吗 import time import subprocess proc = subprocess.Popen(r"path_to_executable", shell=True) time.sleep(1) proc.terminate() #or

在shell模式下使用subprocess.Popen启动windows可执行文件并将其杀死(而不是让exe完成运行)时,只要python程序正在运行,可执行文件就会保持锁定状态。当shell=False时不会发生这种情况。有人知道这个问题的解决方案吗

import time
import subprocess
proc = subprocess.Popen(r"path_to_executable", shell=True)
time.sleep(1)
proc.terminate() #or kill()
proc = None
# the executable will be locked for the next 100 secs
time.sleep(100)

您正在终止shell,而不是它生成的进程。这是我的猜测。如果是这样,请看一看这个问题: