Используя GNU Parallel, вы можете сделать:
cat tasks | parallel -j4 myprog
Если у вас 4 ядра, вы можете просто:
cat tasks | parallel myprog
С http://git.savannah.gnu.org/cgit/parallel.git/tree/README:
Полная установка
Полная установка GNU Parallel так же проста, как:
./configure && make && make install
Персональная установка
Если вы не root, вы можете добавить ~ / bin к вашему пути и установить в
~ / bin и ~ / share:
./configure --prefix=$HOME && make && make install
Или, если в вашей системе нет 'make', вы можете просто скопировать src / parallel
src / sem src / niceload src / sql в каталог на вашем пути.
Минимальная установка
Если вам просто нужна параллель и у вас не установлен 'make' (возможно,
система старая или Microsoft Windows):
wget http://git.savannah.gnu.org/cgit/parallel.git/plain/src/parallel
chmod 755 parallel
cp parallel sem
mv parallel sem dir-in-your-$PATH/bin/
Проверка установки
После этого вы сможете сделать:
parallel -j0 ping -nc 3 ::: foss.org.my gnu.org freenetproject.org
Это отправит 3 пакета ping на 3 разных хоста параллельно и напечатает
вывод, когда они завершают.
Посмотрите вступительное видео для быстрого ознакомления:
https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1