gpt4 book ai didi

python - Bash进程执行逻辑

转载 作者:行者123 更新时间:2023-11-30 22:16:58 26 4
gpt4 key购买 nike

我有许多脚本要运行,其中一些脚本有一个或多个必须首先完成的脚本。我已经阅读了许多展示 bash 控制运算符如何工作的示例,但没有找到任何好的示例来解决我试图实现的逻辑的复杂性。

我有 p_01.py 和 p_03.py,它们都是 p_09.py 的要求,但也有只需要 p_01 的单独进程。例如:

((python p_01.py & python p_03.py) && python p_09.py) & 
(python p_01.py &&
(
(python p_05.py;
python p_10.py) &
(python p_08.py;
python p_11.py)
)
)
wait $(jobs -p)

我的问题是,如何完成所有仅在其要求后运行的脚本,而不重复运行脚本(例如 p_01.py,您会注意到上面使用了两次)?我正在寻找带有一些细节的概括答案,因为实际上依赖项比上面的示例更多/嵌套。谢谢!

最佳答案

如果您根据脚本的依赖关系来考虑脚本,则很难直接转换为主脚本。考虑使用 make,它可以让您直接表达这些依赖关系:

SCRIPTS = $(wildcard *.py)

.PHONY: all
all: $(SCRIPTS)

$(SCRIPTS):
python $@

p_05.py p_08.py p_09.py: p_01.py
p_09.py: p_03.py
p_10.py: p_05.py
p_11.py: p_08.py

运行 make -B -j4 将运行所有 Python 脚本,同时最多可并行执行 4 个脚本。

关于python - Bash进程执行逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49806642/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com