首页 > 解决方案 > GNU Parallel - 多个命令

问题描述

我想在几个输入上运行几个长时间运行的进程。例如:

solver_a problem_1
solver_b problem_1
...
solver_b problem_18
solver_c problem_18

我知道如何为同一个命令运行多个参数——这是核心用例。这更像是相反的情况:同一个参数的多个命令

当然,您总是可以运行多个并行实例 - 但是在同一台机器上或同一用户下的实例在调度资源时是否相互了解?

标签: gnu-parallel

解决方案


我认为您希望GNU Parallel通过 3 个求解器分别运行 18 个问题:

parallel echo solver_{1} problem_{2} ::: {a..c} ::: {1..18}

样本输出

solver_a problem_1
solver_a problem_2
solver_a problem_3
solver_a problem_4
...
...
solver_c problem_16
solver_c problem_17
solver_c problem_18

或者,更快地更改其他参数:

parallel echo solver_{2} problem_{1} ::: {1..18} ::: {a..c}

推荐阅读