这是this question和this question在嵌套GNU并行上的延续。我最想实现的就是让我的Makefile保持不变,除非修改了SHELL=变量,并使用parallel在我所有的机器上分发作业。
有没有办法确保GNU并行的并发执行遵守外部调用中指定的--jobs子句?或者通过其他方式来限制并行调用的作业总数?例如:我希望下面输出中的内槽始终为1,即输出第三行的slot 1-2违反条件。
~• inner_par="parallel -I // --slotreplace '/%/' --seqreplace '/#/'"
~• cmd='echo id {#}-/#/, slot {%}-/%/, arg {}-//'
~• seq 2 | parallel -j 1 "seq {} | $inner_par $cmd"
id 1-1, slot 1-1, arg 1-1
id 2-1, slot 1-1, arg 2-1
id 2-2, slot 1-2, arg 2-2
~• 发布于 2020-06-22 19:39:11
你在找sem吗?
parallel -j 10 parallel -j 20 sem -j 30 --id myid mycmd这将启动200 sems,但仅并行运行30 mycmds。
https://stackoverflow.com/questions/62359581
复制相似问题