On Fri, May 20, 2022 at 12:54 PM Pascal <patatetom@xxxxxxxxx> wrote: > > not really in the sense that qemu-nbd launches and immediately gives the hand back to the script that called it. > the script ends positively and qemu-nbd is killed by systemd because it is considered to be garbage left behind by the script. > this is not quite the case of a timeout that systemd terminates, but the result is the same. > in this case, qemu-nbd looks more like a daemon. > > I was wondering if there was a way to propagate the killmode through a udev rule that starts a script (like a service)... but it seems from the documentation that the answer is no :-( > > """In order to activate long-running processes from udev rules, provide a service unit and pull it in from a udev device using the SYSTEMD_WANTS device property. See systemd.device(5) for details.""" > I would appreciate (and maybe I won't be the only one) a concrete example based, for example, on my problem ;-) > > let's just say that my rule is : > > KERNEL=="sdb", RUN+="/usr/local/sbin/myscript" > > and my script is : > > #!/usr/bin/bash > qemu-nbd -r -s -f raw -c /dev/nbd0 /dev/sdb The most direct translation would be something like this: qemu-nbd0-sdb.service: [Service] ExecStart=qemu-nbd -r -s -f raw -c /dev/nbd0 /dev/sdb udev rule: KERNEL=="sdb", ENV{SYSTEMD_WANTS}+="qemu-nbd0-sdb.service"