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

如何查看当前时刻py或exe文件的运行实例次数?

查看Python脚本/打包EXE运行实例数的方法

运行实例数完全可以检测,可通过系统手动查询或代码内置检测两种方式实现:

方法1:系统层面手动查询

  • Windows系统:
    可以直接打开任务管理器,查找对应进程:直接运行py文件时进程名为python.exe(无后台窗口时为pythonw.exe),打包后的exe进程名为你自定义的exe文件名。
    也可以用cmd执行命令快速统计:
    查py脚本实例:tasklist | findstr "python.exe"
    查exe实例:tasklist | findstr "你的程序名.exe"
    返回结果的行数就是当前运行的实例数。
  • macOS/Linux系统:
    终端执行命令统计:
    查py脚本实例:ps aux | grep "python 你的脚本名.py" | grep -v grep
    查exe实例:ps aux | grep "你的程序名" | grep -v grep
    返回结果的行数就是当前运行的实例数。

方法2:在程序内部自动检测

可以直接在代码中加入检测逻辑,运行时自动获取当前实例数,无需手动查询。
首先安装依赖库:pip install psutil
示例代码如下:

import psutil
import os

def get_instance_count():
    current_script = os.path.basename(__file__)
    exe_name = current_script.replace('.py', '.exe')
    count = 0
    for proc in psutil.process_iter(['name', 'cmdline']):
        try:
            # 匹配Python脚本运行场景
            if proc.info['name'] in ('python', 'python.exe', 'pythonw.exe'):
                if current_script in proc.info['cmdline']:
                    count += 1
            # 匹配打包后EXE运行场景
            elif proc.info['name'] == exe_name:
                count += 1
        except (psutil.AccessDenied, psutil.NoSuchProcess):
            # 跳过无权限访问或已经结束的进程
            continue
    return count

if __name__ == '__main__':
    print(f"当前程序运行实例数:{get_instance_count()}")

上述代码无论是直接运行py脚本,还是打包成EXE后运行,都可以正常统计实例数,普通使用场景下准确率可以达到100%。

注意事项

统计时不要只匹配python.exe这类通用进程名,否则会把其他运行中的Python脚本也统计进来,导致结果错误,必须同时匹配对应的脚本名或EXE名才能得到准确结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 23:42:02