Интересный способ имитации пула процессов найден с помощью команды xargs.
Известно, что эта команда может выполнить некую процедуру для каждого элемента из входного списка (stdin). Оказывается, она способна выполнять процедуру не последовательно для каждого элемента, а поддерживать выполнение заданного количество копий. Т.е. если на входе у нас 1 2 3 4 5 6 7 8 9 10 и мы хотим одновременное выполнение 4 процессов, то xargs сразу же запустит 4 процесса для 1 2 3 4 и как только кто-то из них завершит выполнение запустит новый уже с аргументом 5 и так далее.
Очень удобно, на самом деле, в некоторых случая. В общем, все просто - опция --max-procs.
Решения тех проблем, с которым мне приходилось сталкиваться.
четверг, 14 июля 2011 г.
"Пул" процессов в bash
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий