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

Python如何通过multiprocessing模块获取当前运行的进程名称

获取手动创建的multiprocessing进程名称的方法

方法1:自行维护进程实例列表

创建进程时将所有Process实例存入自定义列表,后续遍历列表即可获取进程名称与运行状态,示例代码如下:

import multiprocessing
import time

def get_data(url):
    time.sleep(5)

if __name__ == "__main__":
    process_list = []
    test_url = "https://example.com"
    # 创建进程时加入维护列表
    p1 = multiprocessing.Process(name='P1', target=get_data, args=(test_url,))
    process_list.append(p1)
    p2 = multiprocessing.Process(name='P2', target=get_data, args=(test_url,))
    process_list.append(p2)
    
    p1.start()
    p2.start()
    
    # 遍历获取运行中进程名称
    for p in process_list:
        if p.is_alive():
            print(f"运行中进程:{p.name}")

方法2:调用官方内置active_children()方法

这是和线程场景enumerate()完全等效的官方接口,无需自行维护列表,直接返回当前主进程下所有存活的子进程实例,示例代码如下:

import multiprocessing
import time

def get_data(url):
    time.sleep(5)

if __name__ == "__main__":
    test_url = "https://example.com"
    p1 = multiprocessing.Process(name='P1', target=get_data, args=(test_url,))
    p2 = multiprocessing.Process(name='P2', target=get_data, args=(test_url,))
    
    p1.start()
    p2.start()
    
    # 直接获取所有存活子进程
    for alive_process in multiprocessing.active_children():
        print(f"存活进程名称:{alive_process.name}")

附加说明

  • active_children()仅会返回当前存活的子进程,已经执行结束退出的进程不会被纳入返回结果
  • 如果需要在子进程内部获取自身的进程名,可在子进程执行的逻辑中调用multiprocessing.current_process().name获取

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 05:06:05