当您在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)
答案 0 :(得分:1)
您正在终止shell而不是它产生的进程。这是我的猜测。如果这是对的,请看看这个问题: