#1 Le 25/06/2012, à 22:53
- OL9245
[Résolu] attendre la fin d'une série de commandes
Bonjour,
Je débute en bash donc dès que ça devient un peu fin, je suis perdu
Je dois rédiger un script bash qui :
lance une série A de commandes en parallèle
attend que toutes les commandes A soient terminées
lance une série B de commandes en parallèle
etc.
Comment je peux faire pour la phase d'attente ?
* comment récupérer les job ID des commandes que le script viens de lancer ?
* comment attendre que ces IDs soient terminés ?
Dernière modification par OL9245 (Le 26/06/2012, à 14:55)
La farine tombée par terre ne se ramasse pas d'une seule main (proverbe burkinabé)
Hors ligne
#2 Le 25/06/2012, à 23:10
- louis94
Re : [Résolu] attendre la fin d'une série de commandes
Bonjour,
1-2: the using & at the end of a command will put it in the background
Bash will store the pid of the backgrounded app in the variable $!
the command wait will wait for all backgrounded apps to complete. wait $pid where $pid is the variable that holds the pid of a backgrounded app will only wait for that app to finish.
Louis
Hors ligne
#3 Le 26/06/2012, à 11:07
- credenhill
Re : [Résolu] attendre la fin d'une série de commandes
hello
cmda1 & cmda2 & cmda3 &
wait
cmdb1 & cmdb2 & cmdb3 &
wait
etc...
Dernière modification par credenhill (Le 26/06/2012, à 11:08)
Hors ligne
#4 Le 26/06/2012, à 14:57
- OL9245
Re : [Résolu] attendre la fin d'une série de commandes
Merci baucoup à vous deux.
Comme quoi il y a aussi des choses intuitives et simples dans le bash.
La farine tombée par terre ne se ramasse pas d'une seule main (proverbe burkinabé)
Hors ligne