Exécuter un programme dans une boucle de manière séquentielle
max759
-
dubcek Messages postés 18627 Date d'inscription Statut Contributeur Dernière intervention -
dubcek Messages postés 18627 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.
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
-
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 ;-\
-
hello
en n'utilisant pas &, les commandes s'exécutent séquentiellementfor C in {1..100}; do cmd ; done