有没有一种方法可以使用GNU parallel运行多次作业?

Jon*_*bie 3 gnu-parallel

我可以看到在多个输入上运行并行作业有多么容易,但是没有其他方法可以通过将命令放入文件并重复多次来并行运行同一作业多次?

parallel -j+0 ::: './dosomejob.sh'
Run Code Online (Sandbox Code Playgroud)

但是告诉并行使用可用核的数量并行运行该作业x次数?

Jon*_*bie 6

典型的。我花了很长时间试图解决这个问题,当我发布问题时,我想我实际上已经解决了。

parallel -j+0 './dosomejob.sh' ::: {1..10}
Run Code Online (Sandbox Code Playgroud)

这是执行此操作的正确方法吗?有更好的并行方式吗?


Ole*_*nge 5

如果您的CPU线程少于10个:

parallel -N0 ./dosomejob.sh ::: {1..10}
Run Code Online (Sandbox Code Playgroud)

-N0 =插入0个参数。

如果您希望GNU Parallel生成组合,但是您希望所有组合重复5次,请尝试:

parallel mycommand {1} {2} {3} {4} fixed_arg1 fixed_arg2 \
  :::: arg_file1.txt  arg_file2.txt \
  ::::+ arg_file3.txt  arg_file4.txt \
  ::: {1..5}
Run Code Online (Sandbox Code Playgroud)