Как найти все открытые файлы в процессе (изнутри самого себя)?
Это полезно знать после fork()
(до exec()
).
Я знаю о существовании getdtablesize()
и более портативном sysconf(_SC_OPEN_MAX)
, но кажется неэффективным пытаться закрыть каждый допустимый файловый дескриптор, есть ли у него открытый файл или нет. (Я также знаю об опасности преждевременной оптимизации, это больше об эстетике, которую я предполагаю: -)