Параллельное выполнение команд: GNU Parallel

GNU Parallel представляет собой оболочку для параллельного выполнения функций локально или с использованием удаленных машин. Как правило, функции представляют собой команды или небольшие скрипты, которые должны быть запущены для каждой из строк на входе.
Входными данными может выступать список файлов, список хостов, список пользователей, список URL-адресов или список таблиц.

GNU Parallel очень проста и удобна в использовании, если вы используете xargs, так как написана по тому же принципу и с теми же опциями. Если вы используете циклы, вам будет приятно узнать, что GNU Parallel сможет заменить большинство из них, а оставшиеся — заставить работать быстрее, выполняя несколько заданий одновременно. Если же вы используете PPSS или pexec, GNU Parallel сделает работу с командной строкой более понятной.

GNU Parallel гарантирует, что результат выполнения команд останется таким же, как если бы вы были запускали команды последовательно. Это дает возможность использовать вывод GNU Parallel в качестве входных данных для других программ.

Для каждой строки ввода GNU Parallel выполняет команду, используя эту строку в качестве аргументов. Если команда не задана, строка ввода будет выполнена, при этом несколько команд будут выполняться параллельно. GNU Parallel часто может быть использована в качестве замены для xargs или cat | bash.

Взято с http://gnu.su

В дополнение здесь написали неплохой обзор для распаралеливания выполнения команд.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *