有一些类似的问题,但我的问题不是“并行运行多个程序”——这可以用parallel
or轻松完成xargs
。
我需要并行化 Bash 函数。
让我们想象一下这样的代码:
for i in "${list[@]}"
do
for j in "${other[@]}"
do
# some processing in here - 20-30 lines of almost pure bash
done
done
某些处理需要调用外部程序。
我想运行一些(4-10)个任务,每个任务运行不同的$i
. $list 中的元素总数 > 500。
我知道我可以将整个for j ... done
循环放在外部脚本中,然后并行调用该程序,但是是否可以不将功能拆分为两个单独的程序?