[arch-general] udev rules 2 times exec script
mpan
archml-y1vf3axu at mpan.pl
Sat Jun 12 15:43:04 UTC 2021
If the command shares any resources, and name “autobackup” suggests
it does, it should include some mechanism that prevents concurrent
execution if another instance is already running. Otherwise, even if a
single match happens, multiple instances of the script may be executed.
For USB devices that may be a tiny power interruption during insertion,
causing it to be detected, removed, detected again:
insertion - - - removal - - - insertion - - - - - - -
|-- script ---------------------------------------> \_ two instances
|-- script ---------> / of the code
It should be either of those:
|-- script ------------------------------------------------->
|--- BAIL OUT! -|
or
|-- script --------------------------------- end|
|-- WAIT .......... script --->
> SUBSYSTEM=="block", ACTION=="add", ATTRS{idVendor}=="058f",
> ATTRS{idProduct}=="6387", SYMLINK+="external%n",
> RUN+="/usr/local/bin/autobackup.sh"
>
> This works well, buth exec 2 times the script...
>
> Jun 12 13:53:09 archlaptop autobackup.sh: BEGIN SCRIPT
> Jun 12 13:53:13 archlaptop autobackup.sh: BEGIN SCRIPT
Because there are two matches for that pattern:
- //devices/platform/…/target0:0:0/0:0:0:0/block/sda
- //devices/platform/…/target0:0:0/0:0:0:0/block/sda/sda1
Both of them have SUBSYSTEM=="block", ACTION=="add",
ATTRS{idVendor}=="058f" and ATTRS{idProduct}=="6387".
> If add ENV{DEVTYPE}=="usb_device" and change the
> SUBSYSTEM=="usb_device" , when plug usb, udev does nothing ...
Because there is nothing that matches SUBSYSTEM=="usb_device".
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 495 bytes
Desc: OpenPGP digital signature
URL: <https://lists.archlinux.org/pipermail/arch-general/attachments/20210612/972d1379/attachment.sig>
More information about the arch-general
mailing list