Wenn Sie fork mit dem Zweck, eine exec aufzurufen Funktion können Sie fcntl verwenden mit FD_CLOEXEC um den Dateideskriptor schließen zu lassen, sobald Sie exec :
int fd = open(...);
fcntl(fd, F_SETFD, FD_CLOEXEC);
Ein solcher Dateideskriptor überlebt einen fork aber keine Funktionen des exec Familie.
Nein. Schließen Sie sie selbst, da Sie wissen, welche geschlossen werden müssen.