IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Processus parallèles et résultats


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 26
    Par défaut Processus parallèles et résultats
    J'ai crée plsieurs scripts bash dont le but est de générer des adresses IP aléatoires valides.
    J'ai donc un script bash qui teste si une adresse IP que je lui donne en paramètre est valide en fonction d'autre paramètres (limite de valeur de ping, réponse ou non, etc...).

    Ensuite, j'ai un script qui appelle ce premier script par vagues en mettant un "&" à la fin de la ligne. Ensuite, si l'adresse est valide, le script de test va ecrire dans un fichier l'adresse IP.
    A la fin de la vague, j'attends que tous les scirpts aient fini de s'éxécuter et je récupère toutes les adresses IP dans le fichier et détruit le fichier (qui est recrée à chaque nouvelle vague).

    Mon problème est la lenteur de l'algorithme. L'augmentation de la taille de la vague n'influe que très peu sur la rapidité : si je passe de 10 paquets/vague à 100 paquets par vague, je passe seulement de 0.5 à 0.8 @IP valide trouvée à la seconde.

    A mon avis, c'est l'écriture (puis la lecture) des @IP résultats dans le fichier temporaire, au moment des vagues, qui ralentit le fonctionnement global.
    Cependant, c'est le seul moyen que j'ai trouvé pour suivre la progression de ma recherche, compter les adresses IP trouvées à la vague précédente et ainsi savoir si j'ai atteint ou non le nombre d'adresses que je veux obtenir.

    J'aimerais avoir des suggestions sur des méthodes différentes qui pourraient être plus rapides.
    Merci.

  2. #2
    Membre émérite
    Avatar de matrix788
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    740
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 740
    Billets dans le blog
    2
    Par défaut
    je pense que python serait plus adapté dans ton cas, bien connu pour sa gestion de fichiers, et de données.

    ou alors en perl.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 26
    Par défaut
    J'avais essayé de coder un peu en python, mais j'avais bloqué au moment de lancer le script pour tester les IPs.

    Mais bon, je pense que le problème est plus au niveau de la gestion des différents threads que du lancement du script.

    Je vais y jeter un coup d'oeil.

Discussions similaires

  1. Cerveau : Le nombre de processus paralléles ne dépasserait pas 60
    Par Amine Horseman dans le forum Actualités
    Réponses: 9
    Dernier message: 13/11/2014, 13h51
  2. programmer en C les processus paralléles sous linux
    Par sabrina6 dans le forum Administration système
    Réponses: 1
    Dernier message: 31/10/2008, 22h56
  3. Processus en parallèle Maven 2
    Par vain_mich dans le forum Maven
    Réponses: 4
    Dernier message: 09/08/2007, 09h36
  4. connexion à une application web + processus parallèle sur le serveur
    Par AnneB dans le forum Développement Web en Java
    Réponses: 6
    Dernier message: 15/06/2007, 14h11
  5. [DEBUTANT] Deux processus en parallèle ?
    Par alex6891 dans le forum Threads & Processus
    Réponses: 11
    Dernier message: 22/11/2005, 07h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo