TGViewer
DevOps Ready | IT DevOps Ready | IT @devops_ready · 7.64K subscribers
Post #876 1.56K
Параллельный запуск обычных команд без GNU Parallel!

Многие задачи в Linux можно ускорить в разы, задействовав несколько ядер CPU.

Ключ — опция -P у xargs, которая запускает несколько процессов одновременно (это именно многопроцессность, не потоки).

Например, выполнить задачи параллельно:
P=$(nproc)
seq "$P" | xargs -P"$P" -I{} ./task.sh {}


Здесь одновременно работают до P копий скрипта (обычно по числу доступных CPU).

Отлично подходит для тяжёлых операций над файлами:
find . -maxdepth 1 -name "*.log" -print0 | xargs -0 -P4 -I{} gzip "{}"


Файлы сжимаются параллельно, а не по одному. Использование -print0 / -0 безопасно для имён с пробелами и спецсимволами.

Можно комбинировать с find для массовой обработки каталогов:
find . -name "*.jpg" -print0 | xargs -0 -P6 -I{} convert "{}" -resize 50% "resized/{}"


Вывод лучше писать в другой файл или каталог, чтобы не перезаписывать исходники.

🔥 Это простой способ распараллелить многие CPU-интенсивные задачи, но итоговая скорость может упираться в диск или другие ресурсы.

➡️ DevOps Ready | #совет
  • ❤ 11
  • 🔥 8
  • 🤝 7
More from @devops_ready
  1. Oct 5, 2026Изоляция процессов в Linux через Unshare без Docker и тяжелых утилит. Мы научимся использо…
  2. Oct 5, 2026Как оплачивать зарубежные сервисы в 2026 году? Можно бегать между посредниками и бояться б…
  3. Oct 5, 2026DigitalOcean Community собирает подробные руководства по Linux! В разделе Linux Basics ест…
  4. Oct 2, 2026Знали, почему настройки systemd-сервиса лучше менять через systemctl edit? Допустим, прило…
  5. Oct 2, 2026⚡️5 фундаментальных курсов по ИБ по цене одного Это предложение для тех, кто готов войти в…
  6. Oct 2, 2026Этот инструмент поможет поять из чего на самом деле состоит Docker-образ! Он содержит терм…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →