您可以做到这一点的一种方法(至少在 python 中)如下:
import time
import subprocess
tasks = ["task1.py", "task2.py", ..., "task64.py"]
for t in tasks:
subprocess.call(["python", task], shell=True)
time.sleep(4)
但是,这假设每个任务在不到一秒的时间内完成,但情况可能并非如此(取决于每个任务的复杂性)。那么,你可能想在这个问题上抛出多处理,以使每个任务在最后一个任务后 4 秒开始,但运行时间只要需要:
import multiprocessing as mp
import time
import subprocess
def caller(task, wait):
time.sleep(wait)
subprocess.call(['python', task], shell=True)
tasks = ["task1.py", "task2.py", ..., "task64.py"]
for t,task in enumerate(tasks):
p = mp.Process(target=caller, args=(task,t*4))
p.join()
这样,每个任务在最后一个任务之后大约 4 秒开始。然而,并不是说你拥有的任务越多,这个近似值就会越偏离精确的 4 秒间隔(尤其是在后面的任务中)