You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python终止Windows运行中的exe进程?含后台进程处理代码示例

如何用Python终止Windows中的boltzmann.exe程序及后台进程

嘿,我来帮你搞定这两个用Python操作Windows进程的问题,直接上实用方案!

1. 终止正在运行的boltzmann.exe程序

这里给你两种常用的实现方式:

方案一:调用Windows自带taskkill命令(简单高效)

用subprocess直接调用系统命令,适合快速实现:

import subprocess

# /F 强制终止进程,/IM 指定进程名
subprocess.run(["taskkill", "/F", "/IM", "boltzmann.exe"], check=False)

解释:/F参数确保即使进程无响应也能强制终止;/IM后跟进程名,会终止所有同名的运行中进程。

方案二:用WMI接口精细控制(基于你提供的测试代码)

你的测试代码已经能定位到目标进程,只需要补充终止逻辑即可:

import win32com.client

wmi = win32com.client.GetObject('winmgmts:')
for p in wmi.InstancesOf('win32_process'):
    if p.Name == 'boltzmann.exe':
        # 调用Terminate方法终止进程,参数0表示正常退出代码
        p.Terminate(0)
        print(f"已终止进程: {p.Name} (进程ID: {p.ProcessId})")

这个方法能获取进程的详细信息(比如PID),方便你只终止特定ID的进程,避免误操作。


2. 结束后台进程中的boltzmann.exe

后台进程和前台进程本质都是Windows进程,只是后台进程没有显示窗口而已,所以上面的方法同样适用。如果需要精准定位后台进程,可以通过进程的WindowHandle属性判断(后台进程的窗口句柄通常为0):

import win32com.client

wmi = win32com.client.GetObject('winmgmts:')
for p in wmi.InstancesOf('win32_process'):
    if p.Name == 'boltzmann.exe' and int(p.WindowHandle) == 0:
        p.Terminate(0)
        print(f"已终止后台进程: {p.Name} (进程ID: {p.ProcessId})")

如果你知道目标后台进程的PID,也可以用taskkill /F /PID <进程ID>或者WMI根据PID终止,这样能更精准地避免误杀同名前台进程。

额外注意事项

  • 运行这些代码需要管理员权限,否则可能无法终止高权限或系统级的进程。
  • 如果win32com.client模块报错,先安装pywin32库:pip install pywin32

内容的提问来源于stack exchange,提问作者mchovo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 07:29:15