Submitted by Colin Walters
Assigned to D-Bus Maintainers
Currently various OS vendors like Fedora ship the system bus as a service, but restarting it will break all users of it, especially for stateful interactions.
What I suggest we do is export an interface (ideally, this should be an administrative-only interface, like a separate socket as I suggested), that requests a shutdown. When we reach zero connections on the main bus, we exit().
If you think about it actually, in a systemd world we could negotiate shutting down the process by default. You could think of this as a "fast userspace restart", i.e. shut down libvirt, shut down NM, shut down messagebus, all the way down to just systemd, and then have systemd reexec itself and respawn everything.