如何通过进程名称选择进程(多进程)?

时间:2014-04-18 08:18:55

标签: python multiprocessing

我想知道如何按名字选择进程?

代码:

from time import sleep
from multiprocessing import Process

def foo():
    while True:
        print 'foo'
        sleep(50)

for i in xrange(3):
    name ='name '+str(i)
    t = process(name=name,target=foo)
    t.start()

谢谢:)

2 个答案:

答案 0 :(得分:2)

Multiple processes may be given the same name.因此,名称和进程之间的任何双向映射都是您施加的逻辑,而不是由库强制执行。

因此,我认为您唯一的选择是保留目录(即字典)。

顺便说一下,我可能会对你的代码段产生偏见,但我希望Pool更适合你的需求。

答案 1 :(得分:0)

我不确定我理解你的问题。

procs = {}
for i in xrange(3):
    name ='name '+str(i)
    t = process(name=name,target=foo)
    t.start()
    procs[name] = t

现在procs的名称包含process。您可以通过procs['name0'] ...

访问某个流程 BTW,multiprocess有效吗?或multiprocessing是对的?