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

Langage Perl Discussion :

Probleme processus Fork PERL


Sujet :

Langage Perl

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 22
    Par défaut Probleme processus Fork PERL
    Saltu a tous, mon script se decompose ainsi (pour resumer):

    Instruction 1 :
    Instruction 2 :
    Instruction 3 :
    Instruction 4 :

    Les instructions 2 et 3 dure 10 minutes et j'aimerai qu'elle s'execute en
    meme temps et non de maniere sequencielle

    Alors j'utilise les procesus pere et fils :

    ########### CODE ##########
    Instruction 1
    my $pid = fork();
    if ($pid) {Instruction 2}
    else {Instruction 3}
    Instruction 4
    ####### FIN DU CODE #######

    Le probleme c'est que les instruction 1 et 4 sont executé 2 fois (pere et
    fils)

    Je m'embrouille la, et je comprend plus rien.

    Merci de vos reponses

  2. #2
    Membre Expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Par défaut
    Citation Envoyé par djezair31
    ...

    Alors j'utilise les procesus pere et fils :

    ########### CODE ##########
    Instruction 1
    my $pid = fork();
    if ($pid) {Instruction 2}
    else {Instruction 3}
    Instruction 4
    ####### FIN DU CODE #######

    Le probleme c'est que les instruction 1 et 4 sont executé 2 fois (pere et
    fils)
    Je ne crois pas que l'instruction 1 soit exécutée deux fois, car fork fait rentrer le processus fils au même endroit que là ou l'on est rendu dans le processus père ...

    Par contre, il est naturel que l'instruction 4 soit exécutée deux fois ... une pour le père, et une pour le fils.

    Ceci correspond peut être plus à ce que tu veux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    print "Instruction 1\n";
    my $pid = fork();
    if ($pid) {
      print "Instruction 2\n";
      sleep (10);
      print "Instruction 4\n";  
    } else {
      print "Instruction 3\n";
      sleep (5);
    }
    Les sleeps sont là pour la démo.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 22
    Par défaut
    OUi exactement. C'est cool merci de ta reponses.

  4. #4
    Membre Expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Par défaut
    Alors, hop, un clic sur

    Merci.

Discussions similaires

  1. probleme des processus fork()
    Par nadine01 dans le forum C
    Réponses: 5
    Dernier message: 19/01/2015, 09h23
  2. probleme des processus fork()
    Par nadine01 dans le forum Linux
    Réponses: 11
    Dernier message: 19/11/2014, 23h37
  3. Petit problème de fork
    Par osmose22 dans le forum Linux
    Réponses: 7
    Dernier message: 18/03/2007, 21h10
  4. Probleme ping sous perl
    Par calimero642 dans le forum Programmation et administration système
    Réponses: 8
    Dernier message: 29/03/2006, 15h59
  5. probleme avec script perl grab_tv_fr.pl
    Par ZiMo dans le forum Langage
    Réponses: 6
    Dernier message: 30/11/2005, 17h12

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