加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

如何在可接受的时间内在Windows下运行所有??正在运行的Python进

发布时间:2020-12-14 05:25:43 所属栏目:Windows 来源:网络整理
导读:我希望在可接受的时间内获得 Windows 7(以及之后的 Linux)下所有正在运行的 Python进程的列表.基于结果,我想开始我的主要应用程序所依赖的其他新进程. 我从https://github.com/giampaolo/psutil尝试了psutil: import psutilfor process in psutil.process_i
我希望在可接受的时间内获得 Windows 7(以及之后的 Linux)下所有正在运行的 Python进程的列表.基于结果,我想开始我的主要应用程序所依赖的其他新进程.

我从https://github.com/giampaolo/psutil尝试了psutil:

import psutil
for process in psutil.process_iter():
    if process.name == 'python.exe':
        print(process)

这给了我很好看的结果,但运行这需要大约一分钟!

我发现使用psutil.process_iter()遍历所有进程并使用psutil.get_pid_list()列出所有进程都可以快速接受,但是获取每个进程的Python进程标识名称(我将使用process.cmdline进一步调查) )似乎很贵.

任何想法如何大大提高速度或另一种方法?

解决方法

使用 ctypes直接使用Windows功能 EnumProcesses()(来自Kernel32.dll或Psapi.dll,具体取决于您的Windows版本).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读