Я запускаю вычислительно тяжелую программу в списке файлов в bash.Если я делаю их по одному, я не использую мощность своего компьютера, но если я добавлю символ &
к команде, чтобы запустить их в фоновых процессах, я запустлю слишком много.То, что я ищу, - это способ указать, что я хочу, чтобы процессы n
работали через определенный список файлов элементов.Когда один заканчивает, он переходит к другому.
В качестве минимального примера, вот некоторый установочный код для репликации моей ситуации:
$ mkdir test
$ cd test
$for i in {1..1000}
>do
> echo "$i" >> $i.txt
> done
Как бы я использовал (скажем) 2 процесса только для обработки этого списка файлов, чтобы выводв каждом файле выполняется произвольная операция с числом $i
(может быть, добавляется два или что-то еще), а затем выводится done by process 1 or 2
, в зависимости от того, выполнял ли процесс 1 или 2 операцию?