zhnghaijin 发表于 2014-07-14 15:35

python子进程

我先用 multiprocessing.Process 开了几个daemon进程,现在我要在这些daemon进程里面开子进程,用 Process 开了几个子进程,抛错 daemonic processes are not allowed to have children(守护进程下不允许开子进程),有什么好办法解决?
PS:线程的解决方案就不需要说了,因为对我应用不适合,占用大量CPU,性能太差。还有就是我开子进程,是为了并行执行一个函数,如果有其他办法做到也可以。

wuyu1998 发表于 2014-07-14 17:06

1. 主控进程,负责建立/释放、运行/停止其它进程。
2. 计算进程,从主控进程获取计算数据块,并计算。
3. 结果处理进程,负责接受计算进程的结果合并。

zhnghaijin 发表于 2014-07-14 18:00

回复 2# wuyu1998


    谢谢哈,我对进程通讯这块不是很了解,能给个例子看看么

wuyu1998 发表于 2014-07-14 18:44

例子:
http://outofmemory.cn/code-snippet/1712/python-duojincheng-usage-Queue-correspond-example

zhnghaijin 发表于 2014-07-14 21:06

回复 4# wuyu1998


    这个不行,我的进程结构是
                         S
                         |
         A         B      C      D
         |         |       |      |
p1,p2...pn   ...       ...    ...

其中 ABCD是守护进程,貌似守护进程开不了子进程。这篇文章说的方式,应该也是不行的。

linlone 发表于 2014-07-14 22:30

回复 1# zhnghaijin


    这个有解决办法了没?我也碰到这个问题了

zhnghaijin 发表于 2014-07-15 08:10

回复 6# linlone


    还没解决。

zhnghaijin 发表于 2014-07-15 11:44

回复 6# linlone


    守护进程应该是没法创建子进程了,如果实在要的话, daemon设为False吧。
结帖!

reyleon 发表于 2014-07-15 15:35

既然是并行执行一个函数,那你的主进程多开一些子进程,不行么?
页: [1]
查看完整版本: python子进程