Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Программирование под Unix/Linux > Сообщение от mount


Автор: Cheloveck 9.7.2009, 14:53
Задача: произвести определённые действия в ответ на монтирование/размонтирование запоминающего устройства.

Я уже использую HAL, но найти механиз получения сообщений даже от udev не могу. Но реально мне не нужны события об установке нового устройства (хотя пригодилось бы и это), мне нужно знать когда, куда и что было смонтировано. Куда, собственно, я могу выяснить сам. Моя программа не демон, поэтому создавать правило для udev я не могу. Писать дополнительно демона совесть не позволит. Подскажите, как реализовать?

Автор: MAKCim 9.7.2009, 16:04
очень тупой вариант
использовать inotify на /etc/mtab

Цитата(Cheloveck @  9.7.2009,  14:53 Найти цитируемый пост)
хотя пригодилось бы и это

ловить event'ы через NETLINK_KOBJECT_UEVENT

Автор: Cheloveck 9.7.2009, 16:10
Цитата(MAKCim @  9.7.2009,  17:04 Найти цитируемый пост)
использовать inotify на /etc/mtab

Думал об этом. Но постоянное обращение к файловой системе не есть хорошо.

Цитата(MAKCim @  9.7.2009,  17:04 Найти цитируемый пост)
ловить event'ы через NETLINK_KOBJECT_UEVENT 

не знаю, что это, но спасибо за наводку, буду курить.

Автор: Cheloveck 9.7.2009, 18:54
а более кроссюниксового способа никто не знает? NETLINK_KOBJECT_UEVENT - это читсто Linux, как я понял.

Автор: MAKCim 9.7.2009, 20:41
Цитата(Cheloveck @  9.7.2009,  16:10 Найти цитируемый пост)
Но постоянное обращение к файловой системе не есть хорошо.

обращений к ФС не будет вообще
когда mount будет писАть в /etc/mtab ты словишь event
более бредовый вариант
подменить mount своим скриптом, который будет выполнять определенные действия и потом дергать оригинальный mount

Добавлено @ 20:43
Цитата(Cheloveck @  9.7.2009,  18:54 Найти цитируемый пост)
а более кроссюниксового способа никто не знает?

попытаться все-же найти это в hal'е

Автор: Cheloveck 11.7.2009, 00:29
Думаю, что реакция на сигнал HAL PropertyModified в сочитании с тем, что я http://forum.vingrad.ru/forum/topic-266242/unread-1.html решает все проблемы. Тема закрыта.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)