<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Mar 20, 2018 at 8:47 AM, Andrei Borzenkov <span dir="ltr"><<a href="mailto:arvidjaar@gmail.com" target="_blank">arvidjaar@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Tue, Mar 20, 2018 at 12:52 AM, John Ioannidis <<a href="mailto:systemd-devel@tla.org">systemd-devel@tla.org</a>> wrote:<br></span><br>
<span class=""><br>
> I can get them to start the first time, but they do not stop when<br>
> configuration files change. If I systemctl daemon-reload, the links in<br>
> /run/systemd/system-generators get properly adjusted,<br>
<br>
</span>generators are simply not the right tool for dynamic changes. There<br>
are path units for activating units when files appear but there are no<br>
corresponding mechanism to stop them.<br>
<div><div class="h5"><br><br></div></div></blockquote><div><br></div><div>Interesting... I didn't realize this. How about this as a workaround:</div><div><br></div><div>* letters-watcher.path watches /var/letters for any changes, and starts (oneshot) letters-watcher.service</div><div><br></div><div>* letters-watcher.service scans the configuration file, determines what instances it should kill and what it should create, and does so, either by invoking systemctl or by talking to DBUS.</div><div><br></div><div>(I did a quick-and-dirty POC and it works, I'm wondering if this is the right way, for some value of "right")</div><div><br></div><div>What I forgot to mention is that the files in the configuration directory (/var/letters in the example) get pushed with sftp from a central location, they are not created locally. What I'm trying to avoid is to replicate existing systemd functionality, plus I'm looking at this as an opportunity to learn more about systemd (greybeard and old-time systems engineer here, but never too old to learn new stuff :) )</div><div> <br></div><div>Many thanks,</div><div><br></div><div>/ji</div></div></div></div>