As regras do Udev iniciam o Aplicativo, mas não parecem persistir

1

Eu fiz o download e criei um aplicativo que inclui regras do udev para iniciar um aplicativo quando determinado hardware está conectado. De acordo com os logs, o aplicativo parece iniciar com êxito como parte da regra do udev, mas não parece persistir, já que nunca consigo encontrar o processo em execução e não o faz.

Projeto: link

Regras do Udev:

/etc/udev/rules.d/91-usb-x10-controllers.rules 
SUBSYSTEM=="usb", ATTR{idVendor}=="0bc7", ATTR{idProduct}=="0001", RUN+="/usr/local/bin/mochad"
SUBSYSTEM=="usb", ATTR{idVendor}=="0bc7", ATTR{idProduct}=="0002", RUN+="/usr/local/bin/mochad"

Snippet de syslog:

Jan 23 11:36:22 home systemd-udevd[23442]: starting '/usr/local/bin/mochad'
Jan 23 11:36:22 home mochad[23442]: starting
Jan 23 11:36:22 home systemd-udevd[23439]: Process '/usr/local/bin/mochad' succeeded.
Jan 23 11:36:22 home systemd-udevd[23439]: passed device to netlink monitor 0x54d28fe0
Jan 23 11:36:22 home systemd-udevd[23439]: seq 1024 processed
Jan 23 11:36:22 home systemd-udevd[135]: passed 300 byte device to netlink monitor 0x54d24bb8
Jan 23 11:36:22 home systemd-udevd[23439]: seq 1025 running
Jan 23 11:36:22 home systemd-udevd[23439]: IMPORT builtin 'usb_id' /lib/udev/rules.d/40-libgphoto2-6.rules:9
Jan 23 11:36:22 home systemd-udevd[23439]: unable to access usb_interface device of '/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0'
Jan 23 11:36:22 home systemd-udevd[23439]: IMPORT builtin 'usb_id' returned non-zero
Jan 23 11:36:22 home systemd-udevd[23439]: IMPORT builtin 'hwdb' /lib/udev/rules.d/50-udev-default.rules:15
Jan 23 11:36:22 home systemd-udevd[23439]: IMPORT builtin skip 'usb_id' /lib/udev/rules.d/56-hpmud.rules:10
Jan 23 11:36:22 home mochad[23443]: Found CM15A
Jan 23 11:36:22 home systemd-udevd[23439]: RUN 'kmod load $env{MODALIAS}' /lib/udev/rules.d/80-drivers.rules:5
Jan 23 11:36:22 home mochad[23443]: In endpoint 0x81, Out endpoint 0x02
Jan 23 11:36:22 home systemd-udevd[23439]: created db file '/run/udev/data/+usb:1-1.2:1.0' for '/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0'
Jan 23 11:36:22 home systemd-udevd[23439]: Execute 'load' 'usb:v0BC7p0001d0100dc00dsc00dp00ic00isc00ip00in00'
Jan 23 11:36:22 home systemd-udevd[23439]: No module matches 'usb:v0BC7p0001d0100dc00dsc00dp00ic00isc00ip00in00'
Jan 23 11:36:22 home systemd-udevd[23439]: passed device to netlink monitor 0x54d28fe0
Jan 23 11:36:22 home systemd-udevd[23439]: seq 1025 processed
Jan 23 11:36:22 home systemd-udevd[135]: cleanup idle workers
Jan 23 11:36:22 home systemd-udevd[23439]: Unload module index
Jan 23 11:36:22 home systemd-udevd[23439]: Unloaded link configuration context.
Jan 23 11:36:22 home systemd-udevd[135]: worker [23439] exited

No entanto, não tenho nenhum processo em execução para me conectar até que eu o inicie manualmente (ele deve ser executado com privilégios sudo). Há algo de errado com as regras do udev ou há algo mais impedindo que isso funcione?

Ubuntu 15.10

    
por fileinster 23.01.2016 / 18:45

1 resposta

0

Apesar de não ser uma solução adequada, eu finalmente trabalhei em torno deste problema, executando um cron job a cada minuto que verifica se o aplicativo está sendo executado, e se não, em seguida, inicia-o.

    
por fileinster 17.08.2018 / 16:38