Я ищу решение, чтобы получить список всех tmpfs
точки монтирования доступны в моей системе Linux, и мне нужно получить их из программы на C / C ++.
Мне нужно общее решение, которое не зависит от дистрибутива.
Я не хочу доступ /proc/mounts
или же /etc/fstab
,
Я не хочу использовать system()
или же popen()
,
Есть ли другой способ?
Спасибо за вашу помощь!
Путь mount
реализует это читать /etc/mtab
— strace mount
это самый быстрый способ проверить это, если у вас нет источника под рукой. Но, как /etc/mtab
обновляется с помощью mount / umount и /proc/mounts
управляется самим ядром, /proc/mounts
это лучшая идея 2, и она есть в каждой системе Linux, независимо от дистрибутива (хм, может быть мой Suse 4.4.2, который датируется 1996 годом, является исключением).
Или, если вы хотите быть переносимым на не-Linux Unix, используйте getmntent семейство функций — но, как говорится на странице руководства, другие unixes имеют функции с одинаковыми именами, которые отличаются от реализации linux, так что, хотя ваш код может компилировать на не-Linux Unix, это не обязательно работать правильно там.
Других решений пока нет …