Bonjour,

Je poste ici après avoir un peu erré sur le net à la recherche d'une solution. En espérant que vous m'aidiez à trouver une approche pour gérer ce problème.

Je reprends du code existant ou un fichier parent.pc exécute le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
for (iCpt = 0 ;  iCpt < iNbSousFic ; iCpt++) {
  ...
  sprintf(commande,"fils.exe %s &",pchNomSousRepTrav);
  retourErreur = system(commande);
 ...
}
Le problème étant que lorsque le programme fils renvoie une erreur, logiquement celle-ci est étouffée puisque ce programme tourne en arrière plan. J'ai donc besoin d'avoir le retour d'erreur de ce programme tout en le laissant en arrière plan.

Je me suis renseigné sur la possibilité de récupérer le PID de ce programme via la commande
Code : Sélectionner tout - Visualiser dans une fenêtre à part
retourPID = system("$!");
Mais cette valeur reste à 0. De plus, je n'ai aucune certitude sur la possibilité de retrouver le code d'erreur du programme fils grâce à ce PID.

Est-ce que j'ai bien abordé le sujet ? Est-ce que vous avez une solution (magique) à me proposer ?
Merci d'avance.

PS : Etant donné que ce sont des fichiers pro*c mais que la syntaxe est du C, j'ai décidé de poster ce topic ici.