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

Linux Discussion :

Processus et fork()


Sujet :

Linux

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 4
    Points : 7
    Points
    7
    Par défaut Processus et fork()
    Bonjour,

    Je viens d'entamer un cours sur les processus et j'ai un petit souci.
    Je dois faire un programme qui crée deux processus. Le fils envoie en rafale 200 fois le signal -SIGUSR1 à son père et le père teste l'existence du fils et comptabilise le nombre de signaux reçus.

    Voici mon code :

    Code C : 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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    #include <signal.h>
    #include <unistd.h>
    #include <stdlib.h>
    #include <sys/wait.h>
    #include <stdlib.h>
    #include <stdio.h>
    #include <time.h>
    #include <stdbool.h>
     
    int main(void)
    {
    	int status = 0, nb_processus = 0,nb_processusRecus=0;
    	int i;
     
    	pid_t pid, pidfils,pid_pere=0;
     
     
    	switch(pid = fork())
    	{
    		case (pid_t) -1:
    		printf("erreur");
    		break;
     
    		case (pid_t) 0 :
    		for(i=0;i<200;i++)
    		{
    			kill(getppid(), -SIGUSR1); //envois de 200 fois -SIGUSR1
    			nb_processus++;
    		}
    		printf("%d\n", nb_processus);
    		pidfils=getpid(); //pour récupérer le pid du fils
     
    		exit(0);
    		break;
     
    		default :
    		printf(" dans le père %d\n", getpid());
     
    		do 
    		{
    		nb_processusRecus++;
    		}while(kill(pidfils,0) !=-1); //envois de 0 au fils pou s'assurer qu'il existe
    		printf("%d\n", nb_processusRecus);
    		exit(0);
    		break;
     
    	}
     
     
    exit(0);
    }

    Je précise que je débute hein ! donc merci d'avance à ceux qui pourront m'aider.

    A+!

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 400
    Points : 23 778
    Points
    23 778
    Par défaut
    Bonjour et bienvenue,

    Quel est ton problème ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 4
    Points : 7
    Points
    7
    Par défaut
    Bonjour,
    Désolé de répondre si tard mais j'ai trouvé la réponse à ma question.
    Je penserais à mettre les quote pour le code la prochaine fois.

    Merci !

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

Discussions similaires

  1. deux processus avec fork() différents
    Par Hind4Dev dans le forum POSIX
    Réponses: 5
    Dernier message: 03/04/2015, 18h48
  2. Exit ou return sur un processus fils(fork) ?
    Par valda117 dans le forum C
    Réponses: 6
    Dernier message: 12/03/2014, 09h10
  3. Programme Multi-Processus par fork()
    Par domiq44 dans le forum C
    Réponses: 10
    Dernier message: 18/01/2011, 15h49
  4. Lancer un processus avec fork
    Par snfever dans le forum Langage
    Réponses: 2
    Dernier message: 22/05/2010, 18h05
  5. Processus et fork
    Par pmier dans le forum POSIX
    Réponses: 2
    Dernier message: 21/12/2007, 17h27

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