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

C Discussion :

Problème avec les forks


Sujet :

C

  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 487
    Par défaut Problème avec les forks

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    #include <sys/types.h>
    #include<unistd.h>
    #include<sys/wait.h>
    #include<stdio.h>
    int main()
    {
    	int pid;
    	int vals;
    	int pidf;
    	int i;
    	for(i=0;i<50;i++)printf("c'est moi le pere\n");
    	pid=fork();
    	switch(pid)
    	{
    	case -1: 
    		printf("Echec de fork");
    		exit(EXIT_FAILURE);
    	case 0: 
     
     
    	for(i=0;i<200;i++)printf("c'est le fils");
    		exit(EXIT_SUCESS);
    	break;
    	default: 
     
    	pidf=wait(&vals);
     
    	break;
    	}
     
     
     
     
    	printf("%d    %d\n",pidf,pid);
    return 0;
     
    }
    pidf=wait(&vals); pidf va récupérer le numéro du processus fils ou père ?

  2. #2
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Citation Envoyé par dot-_-net Voir le message
    switch(x)
    d'où sort le x ?

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 487
    Par défaut
    Citation Envoyé par nicolas.sitbon Voir le message
    d'où sort le x ?
    Désole faute d’inattention
    switch(pid)

  4. #4
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    newmain.c:6: attention : function declaration isn"t a prototype
    newmain.c: In function «main":
    newmain.c:17: erreur: implicit declaration of function «exit"
    newmain.c:17: attention : incompatible implicit declaration of built-in function «exit"
    newmain.c:17: erreur: «EXIT_FAILURE" undeclared (first use in this function)
    newmain.c:17: erreur: (Each undeclared identifier is reported only once
    newmain.c:17: erreur: for each function it appears in.)
    newmain.c:22: erreur: «EXIT_SUCESS" undeclared (first use in this function)
    fais un effort sur l'indentation et corriges tes erreurs!

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 487
    Par défaut
    Citation Envoyé par nicolas.sitbon Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    newmain.c:6: attention : function declaration isn"t a prototype
    newmain.c: In function «main":
    newmain.c:17: erreur: implicit declaration of function «exit"
    newmain.c:17: attention : incompatible implicit declaration of built-in function «exit"
    newmain.c:17: erreur: «EXIT_FAILURE" undeclared (first use in this function)
    newmain.c:17: erreur: (Each undeclared identifier is reported only once
    newmain.c:17: erreur: for each function it appears in.)
    newmain.c:22: erreur: «EXIT_SUCESS" undeclared (first use in this function)
    fais un effort sur l'indentation et corriges tes erreurs!
    ajout la biblio stdlib.h
    + ca doit etre compiler sous LINUX

  6. #6
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    erreur: «EXIT_SUCESS" undeclared (first use in this function)

  7. #7
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 487
    Par défaut
    Citation Envoyé par nicolas.sitbon Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    erreur: «EXIT_SUCESS" undeclared (first use in this function)
    exit(EXIT_SUCCESS) pas exit (EXIT_SUCESS)


    + c'est ca la question pidf=wait(&vals); pidf va récupérer le numéro du processus fils ou père ?

  8. #8
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for(i=0;i<50;i++)printf("c'est moi le pere\n");
    A quoi ça sert?

  9. #9
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 487
    Par défaut
    Citation Envoyé par nicolas.sitbon Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for(i=0;i<50;i++)printf("c'est moi le pere\n");
    A quoi ça sert?
    C’est pour montrer qu’on a pas dupliquez le processus père j’ai afficher ça 50 fois

  10. #10
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Je vois pas en quoi ça prouve quoi que ce soit de plus que le fait de l'afficher qu'une fois mais bon...
    pidf va récupérer le pid du premier processus fils mort.

  11. #11
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 487
    Par défaut
    Citation Envoyé par nicolas.sitbon Voir le message
    Je vois pas en quoi ça prouve quoi que ce soit de plus que le fait de l'afficher qu'une fois mais bon...
    pidf va récupérer le pid du premier processus fils mort.
    Donc pid= fork() ;//ici c’est le numéro du processus du père
    Et fpide=wait() ;//ici c’est le numéro du fils

    ??

Discussions similaires

  1. Problème avec les fonctions
    Par jvachez dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 13/01/2004, 12h06
  2. [Postgresql]Problème avec les fonctions ...
    Par fet dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/10/2003, 09h04
  3. Problème avec les apostrophes
    Par misterbillyboy dans le forum Requêtes
    Réponses: 2
    Dernier message: 15/07/2003, 16h39
  4. Problème avec les fichiers .JPG
    Par cprogil dans le forum Langage
    Réponses: 5
    Dernier message: 10/06/2003, 15h44
  5. []Problème avec les formulaires Outlook
    Par Invité dans le forum Outlook
    Réponses: 6
    Dernier message: 05/12/2002, 09h59

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