GNU/Linux >> Znalost Linux >  >> Linux

Bash skript zpracovává omezený počet příkazů paralelně

Viz paralela. Jeho syntaxe je podobná xargs , ale spouští příkazy paralelně.


Použijte wait vestavěný:

process1 &
process2 &
process3 &
process4 &
wait
process5 &
process6 &
process7 &
process8 &
wait

Ve výše uvedeném příkladu 4 procesy process1 ... process4 by se spustil na pozadí a shell by počkal, dokud nebudou dokončeny, než spustí další sadu.

Z příručky GNU:

wait [jobspec or pid ...]

Počkejte, dokud se podřízený proces určený každým ID procesu pid nebo specifikací úlohy neukončí a nevrátí stav ukončení posledního příkazu, na který jste čekali. Pokud je zadána specifikace úlohy, čeká se na všechny procesy v úloze. Pokud nejsou zadány žádné argumenty, čeká se na všechny aktuálně aktivní podřízené procesy a návratový stav je nula. Pokud anijobspec ani pid neurčují aktivní podřízený proces shellu, návratový status je 127.


Linux
  1. Jak spustit příkazy bash Linuxu ve skriptu PERL?

  2. Provádění zřetězených příkazů paralelně?

  3. Zvýšit číslo sestavení v Bash?

  1. Bash:počkejte s časovým limitem

  2. Spusťte příkaz bash na jenkins pipeline

  3. Spouštějí se příkazy v bash skriptu paralelně nebo jeden po druhém?

  1. Jak používat příkazy historie Bash

  2. Jak ladit Bash skript?

  3. Jak změnit počet příkazů uložených v historii Bash