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   -
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

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    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
  2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    en n'utilisant pas &, les commandes s'exécutent séquentiellement
    for C in {1..100}; do cmd ; done
    0