Devo eseguire alcune azioni quando un dispositivo USB specifico viene rimosso/aggiunto. Ho bisogno di una risposta rapida nell'ordine dei millisecondi.
Come posso farlo in uno script di shell?
Risposta accettata:
Supponendo che tu stia utilizzando una distribuzione Linux con supporto udev e che tu abbia accesso root/amministratore ad essa, puoi utilizzare le regole udev per attivare operazioni specifiche.
Se l'esempio seguente viene aggiunto a un /etc/udev/rules.d/example.rules quindi eseguirà lo script specificato quando viene aggiunto un dispositivo a blocchi con i parametri specificati.
ACTION=="add", SUBSYSTEM=="block", ATTRS{manufacturer}=="HitachiGST", ATTRS{serial}=="31001206110000000000", RUN+="/a/script/to/run.sh"
Quella particolare regola viene eseguita quando il mio disco rigido USB è inserito e si collega al sistema a blocchi. È abbastanza facile modificare le regole in modo che corrispondano a uno specifico evento USB di basso livello.
Ho trovato la pagina wiki Debian UDEV e il sito Writing Udev Rules molto utili per ottenere le regole giuste per la mia situazione.