Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3251 connectés 

 


Dernière réponse
Sujet : [C/C++] Exécuter plusieurs fonctions en même temps : fork ???
juju_le_barbare

kadreg a écrit a écrit :

man signal
man 7 signal
 
rechercher SIGCHLD




 
merci je vais chercher de ce côté ! :)


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
juju_le_barbare

kadreg a écrit a écrit :

man signal
man 7 signal
 
rechercher SIGCHLD




 
merci je vais chercher de ce côté ! :)

kadreg man signal
man 7 signal
 
rechercher SIGCHLD
juju_le_barbare Bonjour,
 
En fait j'aimerai exécuter 10 fonctions en même temps, ou du moins lancer la première et ne plus m'en soucier, et sans attendre qu'elle finisse donc, lancer la 2eme, puis la 3eme, et ainsi de suite.
 
Elles sont donc lancées les unes à la suite des autres quasimment en même temps puis finissent toute seules.
 
Je pense donc qu'il faut créer un processus fils et exécuter cette fonction à partir du processus fils, etc...
 
Mais j'ai pas réussi après tatonnement multiples.
Voyons le code suivant, qui lance 10 fois la même fonction :
 
 
 

Code :
  1. pid_t pid = fork();
  2. for (int i=0; i< 10; i++)
  3. {
  4. if (pid > 0)
  5.   while(waitpid(-1, NULL, WNOHANG) > 0);
  6. else
  7.   {
  8.   if (pid == 0)
  9.    mafonction();
  10.   }
  11. else
  12.    perror("Impossible de créer le processus fils " );


 
En fait ça fonctionne pas car waitpid() dans ce cas attend que le fils soit terminé avant de continer (ce que je ne veux pas, je veux que le père continue en laissant son fils se débrouiller), mais si je vire la fonction waitpid(), 'perror' est appelé, ce qui veux dire que le fils n'est pas créé.
 
 
Donc si vous avez compris, pouvez-vous me dire le bon code ?
Ou bien un lien vers de la doc plus fournie que 'man fork' :D
 
Merci :hello:


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)