action simultanée [bash] - Shell/Batch - Programmation
Marsh Posté le 04-02-2013 à 15:52:38
Deux solutions simples :
1/ Si les actions ne sont pas trop longues, tu fait un script "chapeau" qui découpe la liste d'origine en x morceaux puis lance x fois le script de collecte en arrière plan avec chacun un des morceaux de la liste.
2/ Tu lances les actions en arrière plan 1 a 1 en récupérant leur pid, puis tu repasses plus tard pour contrôler que tout s'est terminé comme il faut. Ça n'est rentable que si les collectes sont longues. Attention à placer une limite quand même au nombre de process en parallèle, si tu récupère trop d'infos tu peux saturer au niveau des cartes réseau, ou I/O ou que sais-je (nombre de sockets ?)
Marsh Posté le 05-02-2013 à 03:15:52
salut,
le mieux, si tu peux installer quelque chose, s'il n'est pas installé, ce serait d'utiliser GNU parallel
Citation : If you use xargs and tee today you will find GNU parallel very easy to use as GNU parallel is written to have the same options as xargs. |
Marsh Posté le 04-02-2013 à 09:52:58
actuellement j'ai une script récoltant des informations sur différent poste du réseau à l'aide d'une liste d'adresse contenu dans un fichiers config . Cependant c'est action se font 1 par 1 et j'aimerai faire ces récoltes simultanément . je suis sur cent os et justilse un :
while read IP do
action
done <ip.cfg
Merci de votre aide