GNU Parallel создан для такого рода работ.
parallel archive.sh {} ::: app1 app2 ... app15
Это будет archive.sh
для каждого приложения при запуске по одному на ядро ЦП.
GNU Parallel - это общий параллелизатор, который позволяет легко запускать задания параллельно на одной и той же машине или на нескольких машинах, к которым у вас есть доступ по ssh.
Если у вас есть 32 различных задания, которые вы хотите запустить на 4 процессорах, прямой способ распараллеливания - запустить 8 заданий на каждом процессоре:
![Simple scheduling](https://i.stack.imgur.com/uH0Dh.png)
GNU Parallel вместо этого порождает новый процесс после его завершения - поддерживая активные процессоры и, таким образом, экономя время:
![GNU Parallel scheduling](https://i.stack.imgur.com/17FsG.png)
установка
Если GNU Parallel не упакован для вашего дистрибутива, вы можете выполнить личную установку, которая не требует root-доступа. Это можно сделать за 10 секунд, выполнив следующее:
(wget -O - pi.dk/3 || curl pi.dk/3/ || fetch -o - http://pi.dk/3) | bash
Другие варианты установки см. http://git.savannah.gnu.org/cgit/parallel.git/tree/README
Узнать больше
См. Больше примеров: http://www.gnu.org/software/parallel/man.html
Смотрите вступительные видеоролики: https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1
Пройдите учебник: http://www.gnu.org/software/parallel/parallel_tutorial.html
Подпишитесь на рассылку, чтобы получить поддержку: https://lists.gnu.org/mailman/listinfo/parallel