Uma vez eu tive problemas semelhantes e o script foi interrompido por eventos udev subsequentes. A solução foi iniciá-lo em segundo plano:
ACTION=="add", KERNEL=="sd[a-z][0-9]*", RUN+="/sbin/start-stop-daemon -Sqb -x /path/to/myScript.py"
Eu preciso executar meu script /var/www/html/configWWW
automaticamente quando qualquer USB estiver conectado ao meu Raspberry.
REGRA UDEV - /etc/udev/rules.d/myRule.rules
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="****",
ATTR{idProduct}=="****", RUN+="/var/www/html/configWWW"
MEU SCRIPT - /var/www/html/configWWW
#!/bin/bash
file="/media/pi/USB/SymSif.xml"
if [ -f "$file" ]
then
(
echo "it works: $(date)" >> /home/pi/Desktop/test.txt
)
else
(
echo "it does not works: $(date)" >> /home/pi/Desktop/test.txt
)
fi
Por outro lado, se eu executar o script do bash /var/www/html/configWWW
, funciona!
Por que minha regra udev
não funciona como meu comando bash?
Uma vez eu tive problemas semelhantes e o script foi interrompido por eventos udev subsequentes. A solução foi iniciá-lo em segundo plano:
ACTION=="add", KERNEL=="sd[a-z][0-9]*", RUN+="/sbin/start-stop-daemon -Sqb -x /path/to/myScript.py"
Tags udev debian scripting raspberry-pi