RUN
pode ser usado apenas para tarefas curtas.
RUN{
type
}
... This can only be used for very short-running foreground tasks. Running an event process for a long period of time may block all further events for this or a dependent device. Starting daemons or other long running processes is not appropriate for udev; the forked processes, detached or not, will be unconditionally killed after the event handling has finished.
source: man udev
Você pode usar disown
que desanexará esse processo anterior do shell atual.
#!/bin/bash
if [[ $ACTION == "add" ]]; then
# I've tried many variations on this, none seem to work
(su abe /bin/bash -c "/home/abe/Documents/Programs/USB\ Sync/usb-in.sh") & disown
fi
if [[ $ACTION == "remove" ]]; then
/home/abe/Documents/Programs/USB\ Sync/usb-out.sh & disown
fi
É um caso similar ao Escrever arquivos em usb quando conectado por /etc/udev/rules.d/ e pode seja você para olhar para isso também link por Fëamarto, bom truque recursivo que espera até que a partição seja montada.