杀死Windows上Windows批处理文件从Python脚本中启动的外部进程

问题描述 投票:1回答:1

我的程序执行一个特定的脚本,然后它通过执行一个.bat(批处理)文件通过Popen方法创建一个进程。

。bat文件又执行另一个.exe文件。当我尝试简单地运行p.kill()来终止.exe文件进程.bat文件已启动时,对我而言会出现问题。

而不是终止所有进程,它只是尝试杀死.bat文件进程,而不是杀死.bat文件创建的.exe文件进程。

我是否有办法专门杀死.exe进程?

UPD:似乎.bat文件创建了一个单独的.exe进程,我不能简单地以p.kill()结尾,因为它的pid与.bat的文件进程不同。

我尝试通过运行os.system("taskkill /F /im process.exe")杀死它,但它没有触及.exe进程。令人惊讶的是,在控制台中运行相同的taskkill命令确实将其杀死。

python batch-file operating-system popen kill
1个回答
0
投票

我设法通过运行subprocess.call("taskkill /F /im process.exe")解决了该问题。

[我不确定为什么os.system一开始就不起作用,也许是由于其过时的性质。希望它可以帮助遇到类似问题的人!

© www.soinside.com 2019 - 2024. All rights reserved.