Bonjour,

Dans un programme, je dois exécuter un code externe. Pour cela, je vais probablement dupliquer le processus, et appeler le exec dans le fils, afin que le père puisse continuer son travail (je ne suis pas intéressé par le fait que le code externe plante ou non, ni par le code de retour).

Seulement voila, je me demande quelle est la bonne pratique concernant les entrée/sorties standards (stdin, stdout, stderr) : j'ai pu voir des cas ou ils sont fermés (close (STDOUT_FILENO); par exemple), d'autres cas ou ils sont rouverts sur /dev/null (je travaille sous Unix, mais peu importe), et d'autres cas où rien n'est fait.

Quelle est la bonne solution, s'il y en a une ? Et si en plus vous pouviez m'indiquer pourquoi, ce serait encore mieux.

Merci par avance.