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

Unix Discussion :

Combien de processus engendre l'évaluation de la commande :fork() && ( fork() || fork() ) ;


Sujet :

Unix

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Etudiant
    Inscrit en
    Novembre 2015
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 156
    Par défaut Combien de processus engendre l'évaluation de la commande :fork() && ( fork() || fork() ) ;
    Bonsoir!

    je suis en pleine révision d'UNIX et j'essaye de bien assimiler les forks.

    fork() dédouble le processus courant: un fils est crée. Les processus père et fils sont identiques: même code, mêmes descripteurs de fichiers et mêmes variables globales. Seul le pide permet de les différencier: dans le processus père l'instruction renvoit le pid du processus fils, dans le processus fil, elle renvoie 0.

    Mais la question que je me pose est combien de processus engendre l'évaluation de la commande:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fork() && ( fork() || fork() ) ;
    la réponse donnée est
    dans l'ensemble trois autres processus
    je ne comprends pas, ce ne serait pas: au plus trois processus? En appliquant le raisonnement logique: si le premier membre est faux, pas de processus par les autres, si le deuxième est vrai pas de troisième?

    Est-ce que je me trompe? Est-ce de l'amateurisme?

  2. #2
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 293
    Par défaut
    Bonjour

    Tu comprends bien que chaque fork renvoie une valeur juste et une valeur fausse.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    1
    |\
    2 3
      |\
      4 5
      |\
      6 7
    Il y a 4 branches à cet arbre.
    4 processus présents dont 1 seul père, cela fait 3 processus engendrés.

  3. #3
    Membre confirmé
    Homme Profil pro
    Etudiant
    Inscrit en
    Novembre 2015
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 156
    Par défaut
    Dac, merci beaucoup, je pensais 3 à la base, ce doit être le || qui a dû m'induire en erreur, ton graphe est très explicite!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 102
    Dernier message: 02/08/2024, 04h12
  2. Processus Unifié et évaluation du coût du projet
    Par oukacha dans le forum Méthodes
    Réponses: 0
    Dernier message: 25/04/2014, 09h19
  3. probleme avec les processus
    Par saidi dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 05/02/2003, 00h18
  4. [VB6] [Système] Tuer un processus courant
    Par mdoyer dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 22/10/2002, 14h47
  5. Réponses: 2
    Dernier message: 04/10/2002, 09h13

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