Вывести список точек монтирования в C ++ в Linux без использования / proc / mounts, / etc / fstab, system () или popen ()

Я ищу решение, чтобы получить список всех tmpfs точки монтирования доступны в моей системе Linux, и мне нужно получить их из программы на C / C ++.
Мне нужно общее решение, которое не зависит от дистрибутива.
Я не хочу доступ /proc/mounts или же /etc/fstab,
Я не хочу использовать system() или же popen(),

Есть ли другой способ?

Спасибо за вашу помощь!

1

Решение

Путь mount реализует это читать /etc/mtabstrace mount это самый быстрый способ проверить это, если у вас нет источника под рукой. Но, как /etc/mtab обновляется с помощью mount / umount и /proc/mounts управляется самим ядром, /proc/mounts это лучшая идея 2, и она есть в каждой системе Linux, независимо от дистрибутива (хм, может быть мой Suse 4.4.2, который датируется 1996 годом, является исключением).

Или, если вы хотите быть переносимым на не-Linux Unix, используйте getmntent семейство функций — но, как говорится на странице руководства, другие unixes имеют функции с одинаковыми именами, которые отличаются от реализации linux, так что, хотя ваш код может компилировать на не-Linux Unix, это не обязательно работать правильно там.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]