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.