Cool, that did the trick! Thank you Jordan! 20.05.2019, 23:35, "Jordan Glover" <golden_miller83@xxxxxxxxxxxxx>: > On Sunday, May 19, 2019 6:45 PM, Alex Ivanov <gnidorah@xxxxx> wrote: > >> Hello. >> What is the proper way to do that? I have a unit that creates gvt device in the system >> >> ExecStart = "sh -c 'echo a297db4a-f4c2-11e6-90f6-d3b88d6c9525 > /sys/bus/pci/devices/0000:00:02.0/mdev_supported_types/i915-GVTg_V5_8/create'"; >> ExecStop = "sh -c 'echo 1 > /sys/bus/pci/devices/0000:00:02.0/a297db4a-f4c2-11e6-90f6-d3b88d6c9525/remove'"; >> >> Ideally I would to like to start this service when 0000:00:02.0 device appears in the system, but the problem is that /sys/bus/pci/devices/0000:00:02.0/mdev_supported_types/ tree is populated later, so my service will fail. >> >> So the question what is the proper way to fix that. > > Use systemd.path helper: > https://www.freedesktop.org/software/systemd/man/systemd.path.html > > Examples: > https://blog.andrewkeech.com/posts/170809_path.html > > Create gvt.path and gvt.service > > gvt.path: > ... > [Unit] > Description=gvt path > > [Path] > PathExist=/sys/bus/pci/devices/0000:00:02.0/mdev_supported_types > > [Install] > WantedBy=multi-user.target > > gvt.service: > ... > [Unit] > Description=gvt service > > [Service] > ExecStart = "sh -c 'echo a297db4a-f4c2-11e6-90f6-d3b88d6c9525 > /sys/bus/pci/devices/0000:00:02.0/mdev_supported_types/i915-GVTg_V5_8/create'" > ExecStop = "sh -c 'echo 1 > /sys/bus/pci/devices/0000:00:02.0/a297db4a-f4c2-11e6-90f6-d3b88d6c9525/remove'" _______________________________________________ systemd-devel mailing list systemd-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/systemd-devel