J'ai fichier écrit 90-usb.rules
sous /etc/udev/rules.d/
contenant:
ACTION=="add", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="2008", RUN+="/bin/mkdir /home/pandya/Desktop/testdir"
ACTION=="remove", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="2008", RUN+="/bin/rmdir /home/pandya/Desktop/testdir"
Quand j'ai branché le périphérique, udev ACTION=="add"
crée un répertoire au moyen de RUN+="/bin/mkdir /home/pandya/Desktop/testdir"
(ce qui fonctionne bien)
MAIS quand j'ai débranché un périphérique similaire udev ACTION=="remove
ne supprime pas le répertoire au moyen deRUN+="/bin/rmdir /home/pandya/Desktop/testdir"
Il n'y a pas de problème /bin/rmdir
car j'ai également vérifié en le remplaçant par un autre mkdir
( RUN+="/bin/mkdir /home/pandya/Desktop/testdir2"
) mais cela ne fonctionne pas non plus.
Donc, je veux savoir que Pourquoi l'action de suppression ne fonctionne pas? Comment je le répare?
ENV
fonctionne. J'ai essayéENV{ID_MODEL}
ce qui fonctionne bien. Merci (BTW si vous êtes intéressé à poster une réponse, puis demandez-moi d'ajouter laudevadm monitor --property
sortie en question OU je continuerai pour la réponse?)Réponses:
Conformément à cette suggestion, (ici) commentée par @don_crissti, je fournis une solution qui a fonctionné pour moi.
Ce qui suit est
udevadm monitor --property
affiché lors de la suppression du périphérique (les lignes KERNEL sont ignorées et seule la dernière suppression UDEV est jointe ci-dessous)D'en haut, j'ai utilisé Environnement dans ma règle udev pour et maintenant la règle udev devient:
ID_MODEL
=Micromax_A74
ACTION=="remove"
Maintenant, il supprime
testdir
au moyen deACTION=="remove"
Par conséquent, la solution est la suivante: utiliser un environnement approprié tel que
ID_MODEL
au lieu deATTR{idVendor}
&ATTR{idProduct}
dansACTION=="remove"
la source