繁体   English   中英

同时运行多个Python脚本然后按顺序运行

[英]Running multiple Python scripts simultaneously and then sequentially

我可以从这样的bash脚本同时运行多个Python脚本;

#!/bin/bash
python pr1.py & 
python pr2.py &
python aop.py &
python loader.py &

但是如果我想要一个批次同时开火并且在它们运行之后,又开始更顺序地开始。 这有用吗?:

#!/bin/bash
python pr1.py & 
python pr2.py &
python ap.py &
python loader.py
python cain.py
python able.py

一旦你把它放在最后,它就作为后台进程运行。 因此所有脚本以&结尾并行运行。

要按顺序运行其他3个脚本,您可以尝试两个:

&&仅在前面的脚本成功运行时才运行下一个脚本

python loader.py && python cain.py && python able.py 

|| 无论先前脚本的结果如何,都按顺序运行脚本

python loader.py || python cain.py || python able.py

在bash脚本中,您只需添加wait命令,如下所示:

#!/bin/bash
python pr1.py & 
python pr2.py &
python ap.py &
wait
python loader.py
python cain.py
python able.py

显然, wait将等待所有工作(你解雇的后台进程)才能继续。

使用&命令,您将在后台运行脚本。 您可以在循环中添加一个检查以运行命令作业,并查看它是否继续返回作业列表。 当它停止时,你可以继续下一批python调用。

为什么不尝试一下呢?

#1.py
import time
time.sleep(3)
print("First script")

#2.py
import time
time.sleep(3)
print("Second script")

如果将进程置于后台,您将同时看到两个python脚本的输出。

#!/bin/bash
python 1.py &
python 2.py &

如果在没有&情况下执行它,那么您将在6秒后看到第二个脚本的输出。

#!/bin/bash
python 1.py
python 2.py

PS:在并行运行时要小心处理依赖项和并发访问问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM