Creation de deux fils avec un seul pere [Résolu/Fermé]

Signaler
-
Messages postés
29252
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
2 juillet 2020
-
Bonjour,

Je n'arrive pas a cree deux fils d'un meme processus sous Linux.
J'ai pensé a faire :

pid_t fils1;
pid_t fils2;

fils1 = fork();
if (fils1 > 0) {
  fils2 = fork();
}


mais cela ne me cree pas deux fils
Pouvez vous m'aider?

Merci
Francois

1 réponse

Messages postés
29252
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
2 juillet 2020
6 882
Cet exemple montre comment tu peux faire.

#include <unistd.h>
#include <stdio.h>

int main() {
    printf("Je suis ton père (%d)\n", getpid());
                                     
    pid_t pid1 = fork();             
    if (pid1 == 0) {                 
        printf("Je suis ton fils (%d)\n", getpid());
        return 0;                    
    }                                
                                     
    pid_t pid2 = fork();             
    if (pid2 == 0) {                 
        printf("Je suis ta fille (%d)\n", getpid());
        return 0;                    
    }                                
                                     
    printf("Je suis ton père (%d)\n", getpid());
                                     
    return 0;                        
}


Exécution :

(mando@aldur) (~) $ gcc toto.c && ./a.out 
Je suis ton père (11532)
Je suis ton père (11532)
Je suis ton fils (11533)
Je suis ta fillei (11534)


Bonne chance
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 63737 internautes nous ont dit merci ce mois-ci