GNU/Linux >> Linux Esercitazione >  >> Linux

Script Bash che elabora un numero limitato di comandi in parallelo

Vedi parallelo. La sua sintassi è simile a xargs , ma esegue i comandi in parallelo.


Usa il wait integrato:

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

Per l'esempio precedente, 4 elabora process1 ... process4 verrebbero avviati in background e la shell aspetterebbe fino al loro completamento prima di iniziare il set successivo.

Dal manuale GNU:

wait [jobspec or pid ...]

Attende fino a quando il processo figlio specificato da ciascun ID processo pid o specifica lavoro jobspec esce e restituisce lo stato di uscita dell'ultimo comando atteso. Se viene fornita una specifica di lavoro, tutti i processi nel lavoro vengono attesi. Se non vengono forniti argomenti, vengono attesi tutti i processi figlio attualmente attivi e lo stato di ritorno è zero. Se néjobspec né pid specificano un processo figlio attivo della shell, lo stato di ritorno è 127.


Linux
  1. Come eseguire il debug di uno script Bash?

  2. Esecuzione di comandi pipe in parallelo?

  3. Incrementare il numero di build in Bash?

  4. Come modificare il numero di comandi archiviati in Bash History

  5. Bash:aspetta con timeout

Automatizza l'elaborazione delle immagini con questo script Bash

Bash wait Comando

Bash For Loop

35 Esempi di script Bash

Come eseguire uno script Bash

Script Shell/Bash per trovare i numeri primi in Linux