Недавно я пытался запускать свои сценарии параллельно более удобным способом, чем открывать несколько экземпляров терминала и выполнять сценарии отдельно.
Я пытался научиться использовать gnu_parallel в течение последних нескольких дней, и я все еще немного не в курсе, и надеюсь, что кто-то может привести прямой пример.
Предположим, у меня есть скомпилированный g++ код с именем blah.exe и bash-скрипт с именем blah.sh, которые прекрасно работают в одиночку, но я хочу выполнять их в разных каталогах.
Я читал https://www.gnu.org/software/parallel/man.html#EXAMPLE:-Working-as-xargs--n1.-Argument-appending
а также
https://www.biostars.org/p/182136/
но я не совсем понимаю синтаксис
Чтобы запустить их последовательно, я бы сделал:
for i in 1 2 3 4
mv ./blah.exe directory$i
cd directory$i
./blah.exe all
cd ..
end
по аналогии
for i in 1 2 3 4
mv ./blah.sh directory$i
cd directory$i
source ./blah.sh all
cd ..
end
Я пытаюсь понять, как разделить эту нагрузку на 4 логических потока в одной команде, используя parallel.
Может ли кто-нибудь привести пример для этого?
Спасибо за ваше время.
bash
, добавьте&
к команде. См. также en.wikipedia.org/wiki/Job_control_(Unix). - person Jesper Juhl   schedule 29.04.2019