Exécuter un programme dans une boucle de manière séquentielle

max759 -  
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Dans le cadre d'un projet, je doit lancer un programme sur plusieurs centaines d'instances, et je voudrais faire cela avec un script shell.

J'utilise une boucle for, et cela marche plutôt bien, cependant toutes les exécutions se font en même temps, i.e. le script me lance plusieurs centaines de fois mon programme, une fois par instance. Or, j'aimerais que le script ne démarre le lancement d'une nouvelle instance seulement quand la précédente est terminée. Autrement dit, que seule une exécution de mon programme se fasse à la fois.

Auriez-vous une idée de la commande (option, peut-être ?) à utiliser ?

Merci.

2 réponses

zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
Salut,

je doit lancer un programme sur plusieurs centaines d'instances

Si on pouvait voir ton script (ou tout au moins la boucle) et savoir comment tu lis tes instances (fichiers, stdin, autres, etc. ?), on pourrait peut-être d'aider au mieux ;-\
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
en n'utilisant pas &, les commandes s'exécutent séquentiellement
for C in {1..100}; do cmd ; done
0