Bonjour,
J'utilise la fonction system dans mon code c pour effectuer des appels à mon serveur audio et pour jouer des sons en fonction d'événements particuliers ( par exemple pour le lancer le demon audio system(esd /dev/dsp) )
Aléatoirement j'ai le messge suivant en sortie de la fonction system : No child process.
J'utilise la REDHAT WS3
N'ayant plus d'idée pour avancer, je suis à l'écoute de toutes vos suggestions
Cordialement,
# meuh
Posté par gc (site web personnel) . É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 :).
[^] # Re: meuh
Posté par endemion . Évalué à 2.
[^] # Re: meuh
Posté par CoinKoin . Évalué à 2.
Enfin, ce n'est qu'une idée personnelle. Je te conseille de faire comme tu l'as dit, à savoir d'appeler fork(2), execvp(2) et waitpid(2), et d'éviter comme la peste le très inutile vfork(2).
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.