Je dois effectuer certaines actions lorsqu'un périphérique USB spécifique est supprimé/ajouté. J'ai besoin d'une réponse rapide de l'ordre de quelques millisecondes.
Comment puis-je faire cela dans un script shell ?
Réponse acceptée :
En supposant que vous utilisez une distribution Linux avec prise en charge d'udev et que vous disposez d'un accès root/administrateur, vous pouvez utiliser les règles udev pour déclencher des opérations spécifiques.
Si l'exemple suivant est ajouté à un /etc/udev/rules.d/example.rules puis il exécutera le script spécifié lorsqu'un périphérique bloc est ajouté avec les paramètres spécifiés.
ACTION=="add", SUBSYSTEM=="block", ATTRS{manufacturer}=="HitachiGST", ATTRS{serial}=="31001206110000000000", RUN+="/a/script/to/run.sh"
Cette règle particulière s'exécute lorsque mon disque dur USB est inséré et attaché au système de blocs. Il est assez facile de modifier les règles pour qu'elles correspondent à un événement USB de bas niveau spécifique.
J'ai trouvé la page wiki Debian UDEV et le site Writing Udev Rules très utiles pour obtenir les bonnes règles pour ma situation.