次のような場合は、操作をトリガーするために使用できますudev
。常に接続されているドライブが取り付けられていますか?それともホットスワップにのみ役立ちます(文書に記載されています)?
常に接続されたSDカードをマウントするときにスクリプトを実行したいと思います。内部に配置されたルールは/etc/udev/rules.d
構文的には問題ないようです。
KERNEL=="mmcblk0",ACTION=="mount",RUN+="/path/to/script.sh"
ただし、ドライブをマウントした後はスクリプトは実行されません。
繰り返しますが、ホットスワップなしドライブはSDカード(したがって、mmcblk0
デバイス名)。
そうでなければ、udev
何がうまくいくのでしょうか?
ベストアンサー1
答えは「しかし」のようです。少なくとも私が知っている限り、ACTION=="mount"
イベントはそうです。いいえ接続したSDカードを装着するとトリガーされますがACTION=="change"
動作します。以下を実行して、ルールが機能するudevadm monitor -p
属性(ボリュームラベル)を識別できました。ID_FS_LABEL
ENV{ID_FS_LABEL}="MyVolumeLabel",ACTION=="change",RUN+="/path/to/script.sh"
udev
ただし、これは完了時にブロックされているため、短いスクリプト以外の項目をトリガーするのに理想的ではないことがわかりました。代わりに私は従った。提案systemd
AnkurTankのサービスを提案し、使用して良い結果を得ました。