我在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加入这些过程而不会影响太多的变化。