Ich muss einige Aktionen ausführen, wenn ein bestimmtes USB-Gerät entfernt/hinzugefügt wird. Ich brauche eine schnelle Antwort in der Größenordnung von Millisekunden.
Wie kann ich das in einem Shell-Skript machen?
Akzeptierte Antwort:
Angenommen, Sie verwenden eine Linux-Distribution mit udev-Unterstützung und haben Root-/Administratorzugriff darauf, dann können Sie udev-Regeln verwenden, um bestimmte Vorgänge auszulösen.
Wenn das folgende Beispiel zu einer /etc/udev/rules.d/example.rules hinzugefügt wird dann wird das angegebene Skript ausgeführt, wenn ein Blockgerät mit den angegebenen Parametern hinzugefügt wird.
ACTION=="add", SUBSYSTEM=="block", ATTRS{manufacturer}=="HitachiGST", ATTRS{serial}=="31001206110000000000", RUN+="/a/script/to/run.sh"
Diese spezielle Regel wird ausgeführt, wenn meine USB-Festplatte eingesteckt und an das Blocksystem angeschlossen wird. Es ist ganz einfach, die Regeln so anzupassen, dass sie mit einem bestimmten Low-Level-USB-Ereignis übereinstimmen.
Ich fand die Debian-UDEV-Wiki-Seite und die Seite Writing Udev Rules sehr hilfreich, um die richtigen Regeln für meine Situation zu finden.