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

如何使用Python在Windows 10系统中结束正在运行的任务?

实现Windows 10任务终止的Python方案说明

结论先行

完全可以通过Python实现Windows 10下终止运行中任务的需求,可完全模拟任务管理器的「结束任务」操作,Windows有对应的原生API可供直接调用。

常用实现方式

方式1:调用系统内置taskkill命令(最简单)

不需要额外安装第三方库,直接用Python标准库subprocess调用系统自带的taskkill工具即可,逻辑和任务管理器的默认结束任务逻辑一致。

import subprocess

# 示例:结束所有记事本进程,对应任务管理器点结束任务的普通逻辑
subprocess.run(["taskkill", "/im", "notepad.exe"], check=True)

# 如果遇到无响应进程需要强制终止,加/f参数
# subprocess.run(["taskkill", "/f", "/im", "notepad.exe"], check=True)

# 如果要根据进程PID终止,把/im换成/pid + PID号即可
# subprocess.run(["taskkill", "/pid", "1234"], check=True)

参数说明:

  • /im:指定进程镜像名(即程序的exe文件名)
  • /f:强制终止进程,不会给进程预留保存数据的时间
  • /t:同时终止指定进程和其启动的所有子进程

方式2:直接调用Windows原生API(等效任务管理器底层逻辑)

任务管理器的「结束任务」功能底层调用的是Windows Kernel32库的TerminateProcessAPI,Python可以通过pywin32库直接调用该API,实现完全一致的效果。
首先安装依赖:pip install pywin32

强制终止进程(对应无响应程序的强行结束)

import win32api
import win32con
import win32process

def terminate_process(pid: int):
    # 打开进程获取句柄,申请终止权限
    handle = win32api.OpenProcess(win32con.PROCESS_TERMINATE, False, pid)
    # 调用终止API,退出码设为0
    win32process.TerminateProcess(handle, 0)
    # 关闭进程句柄释放资源
    win32api.CloseHandle(handle)

# 示例:终止PID为1234的进程
terminate_process(1234)

温和请求关闭(对应点击窗口右上角叉号的效果)

如果要模拟任务管理器针对正常前台程序的优先逻辑(先尝试正常关闭,失败再强制杀),可以先发WM_CLOSE消息给程序窗口,程序会触发保存数据的提示逻辑:

import win32gui
import win32con

def close_window_by_title(window_title: str):
    # 根据窗口标题查找窗口句柄
    handle = win32gui.FindWindow(None, window_title)
    if handle:
        # 发送关闭消息
        win32gui.SendMessage(handle, win32con.WM_CLOSE, 0, 0)

# 示例:关闭标题为「无标题 - 记事本」的窗口
close_window_by_title("无标题 - 记事本")

注意事项

  • 终止系统进程、管理员权限运行的进程时,Python脚本需要以管理员身份启动,否则会触发权限不足报错
  • 终止进程前建议先确认进程名/PID的准确性,避免误杀正常运行的其他程序
  • WM_CLOSE仅对带窗口的前台程序生效,后台无窗口进程需要用TerminateProcess或者taskkill终止

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 09:54:07