4 ms·
There was inetd and xinetd, for many years. They start a process which listens on a tcp or udp socket, only when a connection or packet is seen on that socket.
by ploxiln 11y ago
There was inetd and xinetd, for many years. They start a process which listens on a tcp or udp socket, only when a connection or packet is seen on that socket. I'm not sure how popular they were, but I've been using "desktop" linux since 2003 and working with production servers since 2010, and I've never seen them in actual use myself.
Services like cups use a couple of megabytes of memory. All other applications dwarf it on the desktop, and service activation isn't appropriate for servers. It's a complication which you don't need. I'm all about reducing bloat; the best way to do that is uninstall the service.
systemd supports socket activiation, and it's actually pretty cool as a startup-dependency-satisfying scheme. But this article talks about just telling systemd to start the service, not by trying to access a socket the service will listen on. And it mentions the "service" command, which is a standard way to do that on redhat and debian based distros since as long as I can remember.
So when D-Bus was developed it should have used "service $NAME start" if it really wanted to try to start a service.