[bash] action simultanée

action simultanée [bash] - Shell/Batch - Programmation

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

Reply

Marsh Posté le 04-02-2013 à 09:52:58   

Reply

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

Reply

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.


Message édité par Profil supprimé le 05-02-2013 à 03:17:28
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed