我有三个Python脚本文件(script1.py,script2.py和script3.py),我希望script1.py和script2.py同时运行,并且希望script3.py仅在script2.py完成时才能启动(script1。 py尚未在script3启动时完成)。
我有这样的代码可以解决,但是我不确定自己做的事情是否正确:
import subprocess
import multiprocessing
def func1(command):
subprocess.run(command, shell=True)
def func2(command):
subprocess.run(command, shell=True)
def func3(command):
subprocess.run(command, shell=True)
if __name__ =='__main__':
p1 = multiprocessing.Process(target=func1,args=('python3 script1.py',))
p2 = multiprocessing.Process(target=func2,args=('python3 script2.py',))
p3 = multiprocessing.Process(target=func3,args=('python3 script2.py',))
p1.start()
p2.start()
p2.join()
p3.start()
p3.join()
p1.join()
会起作用吗?有一个更好的方法吗?是否有规则,我必须按照启动时的顺序加入它们?
谢谢,巴尔纳
是的,它将起作用。
此外,您可以对所有三个进程使用相同的功能,因为它们是相同的。