Я обрабатываю 100 файлов в каталоге с помощью команды process
, и, поскольку я хочу, чтобы этот процесс был максимально параллельным. Итак, я запускаю следующие команды в оболочке C, и она прекрасно работает:
foreach F (dir/file*.data)
process $F > $F.processed &
echo $F
end
Все 100 процессов запускаются одновременно в фоновом режиме, максимально используя все мои ядра.
Теперь я хочу использовать только половину своих ядер (2 из 4) одновременно. Есть ли элегантный способ сделать это?