Прочитать таблицу дескрипторов файлов программно в C - PullRequest
0 голосов
/ 21 октября 2018

Дочерний процесс, созданный с помощью вызова fork (), наследует таблицу дескрипторов файлов своего родительского процесса.В моем дочернем процессе я хотел бы знать о дескрипторах файлов, которые он унаследовал от своего родительского процесса (и об их соответствующих файловых указателях или именах файлов, на которые он указывает).Я знаю, что эти записи могут храниться в переменных, которые наследует дочерний процесс.Но я хотел бы узнать о способе программирования для получения этой информации.

Ответы [ 2 ]

0 голосов
/ 21 октября 2018

Вы можете перебрать все файловые дескрипторы, начиная с 0, и передать их fstat.

0 голосов
/ 21 октября 2018

Поскольку вы отметили это как Linux, вы можете посмотреть в /proc/self/fd/* и /proc/self/fdinfo/*.Например, чтобы получить имя файла, вы можете использовать readlink.

...