Современные процессоры обычно состоят из нескольких физических ядер. Они могут даже быть многопоточными, так что ядро Linux видит довольно большое количество ядер и, соответственно, несколько раз запускает планировщик Linux (по одному для каждого ядра). При выполнении нескольких задач в системе Linux планировщик обычно обеспечивает хорошее распределение общей рабочей нагрузки на все ядра Linux (может быть одно и то же физическое ядро).
Теперь, скажем, мне нужно обработать большое количество файлов с помощью одного и того же исполняемого файла. Обычно я делаю это с помощью команды «find»:
find <path> <option> <exec>
Однако, это запускает только одну задачу в любой момент и ждет ее завершения перед запуском следующей задачи. Таким образом, в любой момент для этого используется только одно ядро. Это оставляет большинство ядер бездействующими (если эта команда поиска - единственная задача, выполняемая в системе). Было бы намного лучше запускать N задач одновременно. Где N - количество ядер, видимых ядром Linux.
Есть ли команда, которая сделает это?