Есть ли способ выполнить одно задание много раз, используя GNU параллельно?
Я вижу, как легко запустить параллельное задание с несколькими входами, но нет ли другого способа запустить одно и то же задание параллельно несколько раз, поместив команду в файл и повторив ее много раз?
parallel -j+0 ::: './dosomejob.sh'
но скажите параллельно запустить это задание x количество раз параллельно, используя количество доступных ядер?
2 ответа
Решение
Типичный. Я трачу целую вечность, пытаясь решить эту проблему, и когда я пишу вопрос, я думаю, что на самом деле решил это.
parallel -j+0 './dosomejob.sh' ::: {1..10}
Это правильный способ сделать это? Есть ли лучший параллельный путь?
Если у вас менее 10 потоков процессора:
parallel -N0 ./dosomejob.sh ::: {1..10}
-N0
= вставить 0 аргументов.