能力值:
( LV3,RANK:30 )
|
-
-
2 楼
话说,这样竟然不报错?这里的 p.join() 应该在当前环境里没有这个变量吧
没有执行的原因是没有正确的执行等待,你需要把所有执行的进程 p 加入一个数组,然后来遍历等待 比如 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | import os
import multiprocessing
def run_proc(name):
print "child process %s (%d) Running..." % (name,os.getpid())
if __name__ = = "__main__" :
print "parent process %s" % os.getpid()
ps = []
for i in range ( 5 ):
p = multiprocessing.Process(target = run_proc,args = ( str (i),))
print "Process will start"
p.start()
ps.append(p)
for p in ps:
p.join()
print "process end"
|
|
能力值:
( LV8,RANK:130 )
在线值:

|
-
-
3 楼
试试subprocess? multiprocessing和平台的具体实现有关,也许Windows上的实现有问题?
proc = subprocess.Popen( fullCommand, shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE ) m_output, m_error = proc.communicate( ) m_result = proc.returncode
|
能力值:
( LV2,RANK:10 )
在线值:

|
-
-
4 楼
Kisesy
话说,这样竟然不报错?这里的 p.join() 应该在当前环境里没有这个变量吧没有执行的原因是没有正确的执行等待,你需要把所有执行的进程 p 加入一个数组,然后来遍历等待比如# -*- coding: ...
按照你的代码执行也是不行啊,
|
|
|