Как запустить команды на выполнение параллельно с ограничением по числу одновременных выполнений в оболочке: hpc в командной строке с использованием make

echo -n 'targets = $(subst .png,.jpg,$(wildcard *.png))\n$(targets):\n convert $(subst .jpg,.png,$@) $@ \nall : $(targets)' | make -j 4 -f - all


Команда «make» используется для автоматизации процесса сборки программного проекта. В данном случае мы передаем содержимое команды в качестве входных данных через конвейер (-f -). Опция «-j» задает количество одновременно выполняемых задач (4 в данном случае).

Пояснение команды:
— При помощи «echo» передается текст с правилами сборки в формате Makefile, который содержит три правила: «targets», «all» и правило для каждого файла в списке «targets».
— Ключ «-n» удаляет символ новой строки, чтобы текст был корректно обработан make.
— После передачи текста через конвейер, make запускает процесс сборки, выполняя правило «all» и все зависимые от него правила.

Возможная альтернатива: можно создать файл с правилами сборки Makefile и передать его в make, вместо использования конвейера.

Аргументы команде: нет.

Ответить

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