我正在尝试使用 subprocess.Popen 终止 .exe。
解决方案为:
taskkill/im (.exe)/t/f
taskkill/pid (.exe)/t/f
无法正常工作,因为响应被拒绝访问。事实上,当我从子进程运行 cmd 时,我无法获得管理员权限。
我找到了一个从 cmd 终止此进程的命令(无需以管理员身份运行),它是:
wmic 进程,其中 name=".exe"删除
...但是当我使用子进程运行它时,它给了我“无效查询
”。
我正在运行的命令是:
4)subprocess.Popen(['wmic', 'process', 'where', 'name="--------.exe"', 'delete'], shell=True, stdout=subprocess.PIPE)
我想我写错了。有什么建议吗?
最佳答案
解决方案是在比较运算符周围放置空格,并将整个条件(name = xxx
或 name like xxx
)作为单个参数发送,因为 wmic 不喜欢将其分成几部分,并且如果引号位于单词的“中间”,则内部引号会变得困惑:
subprocess.Popen(['wmic', 'process', 'where', 'name like "----.exe"', 'delete'], shell=True)
关于python - WMIC + Python 子进程/(Windows 10),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63098513/