通过Python中的pid加入两个进程

时间:2017-07-25 10:28:32

标签: python multiprocessing

我在python中使用fork创建了两个进程

import os
import sys
pid = os.fork()
if pid > 0:
   # set some variable ( Lets say SETTING_A )
   # Lets execute
   os.waitpid(pid,0)
else:
   pid = os.fork()
   if pid > 0:
      # Set some other variable ( Lets say SETTING_B )
      # Let Execute
      os.waitpid(pid, 0)
   else:
      sys.exit(0)
# COMMON WORKFLOW

问题:

让我们假设我的脚本与SETTING_A一起运行10 sec。使用SETTING_B运行相同的脚本需要2 min。我想在两个不同的设置中并行运行我的脚本的两个实例。为了确保父进程等待子进程完成,我使用os.waitpid(),但它使它顺序执行。首先设置B然后设置A。如何保持并行性以及我的父进程等到子进程完成。我尝试搜索join(),但这是python中的Process()类。有没有什么方法可以通过pid加入这些过程而不会影响太多的变化。

0 个答案:

没有答案