2017-06-28 14:40 GMT-03:00 Steve Litt: > > On Mon, 26 Jun 2017 14:53:50 +0000 "Laurent Bercot" wrote: >> >> The problem with the runit model is that it is pure supervision - >> it does not provide service management. You have to run all your >> oneshots _before_ you can start longruns. > > Not necessarily true. You can easily run longruns early by creating a > second service directory and a second link directory. You make the > service specific directory, create run script and the supervise > directory within it, and symlink like the following: > > ln -s /etc/sv2/gnumeric /var/svlink/gnumeric > > Then do the following: > > runsv /etc/svlink/gnumeric
But then you end up with an unsupervised runsv process, disconnected from the rest of the supervision tree... However, regarding Void Linux and udevd, as far as I can tell by having a quick look at their GitHub repository, it is launched unsupervised from /etc/runit/1 just to populate /dev, but then that process is stopped using 'udevadm control --exit', and a supervised one is launched. Probably the best possible solution if constrained by the runit model... G.