Pokud fork za účelem volání exec můžete použít fcntl s FD_CLOEXEC aby byl popisovač souboru uzavřen, jakmile exec :
int fd = open(...);
fcntl(fd, F_SETFD, FD_CLOEXEC);
Takový deskriptor souboru přežije fork ale ne funkce exec rodina.
Ne. Zavřete je sami, protože víte, které je třeba zavřít.