Potřebuji provést nějaké akce, když je odebráno/přidáno konkrétní USB zařízení. Potřebuji rychlou odezvu v řádu milisekund.
Jak to mohu provést ve skriptu shellu?
Přijatá odpověď:
Za předpokladu, že používáte distribuci Linuxu s podporou udev a máte k ní přístup root/administrátor, můžete použít pravidla udev ke spouštění konkrétních operací.
Pokud je následující příklad přidán do /etc/udev/rules.d/example.rules poté spustí zadaný skript, když je přidáno blokové zařízení se zadanými parametry.
ACTION=="add", SUBSYSTEM=="block", ATTRS{manufacturer}=="HitachiGST", ATTRS{serial}=="31001206110000000000", RUN+="/a/script/to/run.sh"
Toto konkrétní pravidlo se spustí, když je můj pevný disk USB vložen a připojen k systému bloků. Je docela snadné upravit pravidla tak, aby odpovídala konkrétní události USB na nízké úrovni.
Zjistil jsem, že wiki stránka Debian UDEV a stránka Writing Udev Rules jsou velmi užitečné pro získání správných pravidel pro mou situaci.