Есть некий очень минимальный дистрибутив линукса, чисто консольный.
Нужно чтобы во время работы (не только при загрузке системы, но и в любой момент работы), если пользователь вставил флэшку — автоматически примонтировать ее и запустить некоторую программу, аналогично если вытащил — размонтировать и запустить другую программу (т.е. запускать скрипт по событию вставки или извлечения флэшки — примонтировать можно уже командой в этом скрипте).
Как это сделать?
Здравствуйте, a9000, Вы писали:
A>Есть некий очень минимальный дистрибутив линукса, чисто консольный. A>Нужно чтобы во время работы (не только при загрузке системы, но и в любой момент работы), если пользователь вставил флэшку — автоматически примонтировать ее и запустить некоторую программу, аналогично если вытащил — размонтировать и запустить другую программу (т.е. запускать скрипт по событию вставки или извлечения флэшки — примонтировать можно уже командой в этом скрипте). A>Как это сделать?
Курить скрипты для udev или mdev, смотря что там есть. Если вообще ничего нету, то курить netlink socket и писать монитор самому. Можно еще /sbin/hotplug-ом прикинуться (гугл /proc/sys/kernel/hotplug).
Смущает только вот это:
если вытащил — размонтировать и запустить другую программу
В принципе, если монтировать в режиме sync или ro, то может и сойдет.
Здравствуйте, andrey.desman, Вы писали:
AD>Курить скрипты для udev или mdev, смотря что там есть. Если вообще ничего нету, то курить netlink socket и писать монитор самому. Можно еще /sbin/hotplug-ом прикинуться (гугл /proc/sys/kernel/hotplug).
udev есть, но я не могу понять работает ли он. Добавляю в /etc/udev/rules.d файл с правилом (в инете есть разные примеры), пишу в нем например по событию вставки вывести на консоль RUN+="echo hello" и нифига не происходит. Правило применяю c udevadm, также пробовал перезагружать компьютер — ничего все равно не происходит.
Здравствуйте, a9000, Вы писали:
A>udev есть, но я не могу понять работает ли он. Добавляю в /etc/udev/rules.d файл с правилом (в инете есть разные примеры), пишу в нем например по событию вставки вывести на консоль RUN+="echo hello" и нифига не происходит. Правило применяю c udevadm, также пробовал перезагружать компьютер — ничего все равно не происходит.
Пиши куда-нибудь в файл. Демон без консоли работает, максимум твой принт в лог уходит...
Ну и, разумеется, код и действия в студию. Просто "не работает" ни о чем не говорит.