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

Windows下如何用Python有效监控进程创建?捕获短生命周期进程

Windows下Python监控进程创建(含短生命周期进程)的问题

我的目标

在Windows环境下用Python实现无过多前置依赖的进程创建持续监控,要求能捕获所有创建的进程(包括快速创建并销毁的短生命周期进程,类似ProcMon的功能),且脚本可后台运行。

已尝试的方法

  • 使用psutil:通过轮询进程列表的方式无法捕获短生命周期进程——这类进程在迭代完成前就已创建并销毁,轮询时根本无法检测到。
    代码片段:
    while True:
        for proc in psutil.process_iter(['pid', 'name']):
            # 执行记录等操作
            pass
    
  • 使用wmi:同样会遗漏短生命周期进程,原因是WMI事件查询中的WITHIN 1设置了1秒的检测间隔,短进程在这1秒内完成创建到销毁的全过程,无法被事件监听捕获。
    代码片段:
    import wmi
    
    c = wmi.WMI()
    # 监控进程创建事件
    watcher = c.Win32_Process.watch_for(raw_wql="SELECT * FROM __InstanceCreationEvent WITHIN 1 WHERE TargetInstance ISA 'Win32_Process'")
    
    while True:
        new_event = watcher()
        print(new_event.Caption)
    

计划尝试的最后方案

开启Windows的「审核进程创建」功能,读取系统事件日志。但因为希望代码尽量减少前置配置和依赖,所以将此作为最后备选方案。

我的疑问

  1. 是否还有其他Python实现方式可以完整捕获所有进程创建事件,包括短生命周期进程?
  2. 如果Python无法实现,是否需要改用其他语言?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 13:33:17