并行运行作业

MaV*_*aVe 5 parallel-processing bash xargs

我想并行运行大量的密集过程,在这些过程中我使用for循环遍历不同的参数。许多类似问题的答案都提到可以使用xargs并行运行进程,但是似乎没有提到如果每个命令的参数都发生了更改,则该如何执行或如何执行。

例如(伪代码):

for paramA in 1 2 3
  for paramB in 1 2 3
    ./intensiveCommand $paramA $paramB
  end
end
Run Code Online (Sandbox Code Playgroud)

我想并行化密集命令

还是有比使用xargs更简单的方法?

dam*_*ois 5

您可以使用GNU 并行。它有一个--load选项,可以避免计算机超载。

parallel --load 100% ./intensiveCommand ::: 1 2 3 ::: 1 2 3
Run Code Online (Sandbox Code Playgroud)