Użyj GNU parallel. To niezwykle potężne narzędzie, a oficjalne pakiety istnieją dla około 20 takich dystrybucji Linuksa. Co to jest? You have an excuse as to why you can't use it? Oto prosty przykład pokazujący jak uruchomić listę lub plik poleceń równolegle:
zawartość jobs.txt
:
sleep 1; echo "a"
sleep 3; echo "b"
sleep 2; echo "c"
polecenie:
time parallel :::: jobs.txt
wyniki:
a
c
b
real 0m3.332s
user 0m0.170s
sys 0m0.037s
Notatki:
Jeśli chcesz zachować porządek taki sam jak wejście, przekaż flagę -k
na GNU równoległe.
Jeśli masz więcej niż osiem rdzeni i chcesz przetwarzać tylko osiem rdzeni, dodaj -j 8
do listy argumentów.
man page to dobra lektura, ale jeśli jeszcze nie przeczytałeś this tutorial, gorąco poleciłbym inwestycję czasową.
Patrz [Zarządzanie procesami] (http://mywiki.wooledge.org/ProcessManagement). –