У меня N = 128 (скажем) задач, task 0 , task 1 , ... task N-1 , которую мне нужно выполнить. Каждая задача займет неизвестное количество времени для выполнения, и они могут быть выполнены в любом порядке. Я нахожусь на машине с большим количеством ядер, но я хочу запустить одновременно только 16 из этих задач. Есть ли утилита для автоматизации этого?
я считал
$ for i in {0..127}; do nice -n 19 ./task $i & done;
но это будет запускать все задачи одновременно. Скорее, я хотел бы что-то, что запустит первые 16 задач, а затем заменит новую, когда задача завершится.
