system(3) est implémenté avec un fork(2), un execve(2) et un waitpid(2). Je pense que c'est le waitpid qui se prend le ECHILD. Voici ce que dit le man à ce propos :
ECHILD if the process specified in pid does not exist or is not a child of the calling process. (This can happen for one's own child if the action for SIGCHLD is set to SIG_IGN. See also the LINUX NOTES section about threads.)
Il est possible que ton cas se présente si esd fork et exit le père pour (théoriquement) se détacher du terminal/process appelant. Enfin non même dans ce cas-là tu devrais obtenir l'exitstatus du père qui exit je pense. Enfin bon c'est déjà une piste :).
# meuh
Posté par gc . En réponse au message Problème avec la fonction system et esd. Évalué à 3.
ECHILD if the process specified in pid does not exist or is not a child of the calling process. (This can happen for one's own child if the action for SIGCHLD is set to SIG_IGN. See also the LINUX NOTES section about threads.)
Il est possible que ton cas se présente si esd fork et exit le père pour (théoriquement) se détacher du terminal/process appelant. Enfin non même dans ce cas-là tu devrais obtenir l'exitstatus du père qui exit je pense. Enfin bon c'est déjà une piste :).