特定のUSBデバイスが削除/追加されたときにいくつかのアクションを実行する必要があります。ミリ秒のオーダーの高速応答が必要です。
シェルスクリプトでこれを行うにはどうすればよいですか?
承認された回答:
udevをサポートするLinuxディストリビューションを使用していて、ルート/管理者がアクセスできる場合は、udevルールを使用して特定の操作をトリガーできます。
次の例が/etc/udev/rules.d/example.rulesに追加された場合 次に、指定されたパラメータでブロックデバイスが追加されると、指定されたスクリプトが実行されます。
ACTION=="add", SUBSYSTEM=="block", ATTRS{manufacturer}=="HitachiGST", ATTRS{serial}=="31001206110000000000", RUN+="/a/script/to/run.sh"
その特定のルールは、USBハードドライブが挿入されてブロックシステムに接続されたときに実行されます。特定の低レベルUSBイベントに一致するようにルールを微調整するのは非常に簡単です。
DebianUDEVwikiページとWritingUdevRulesサイトは、自分の状況に適したルールを取得するのに非常に役立つことがわかりました。