[systemd-devel] xnitd

Lennart Poettering lennart at poettering.net
Fri Nov 29 04:44:38 PST 2013


On Fri, 29.11.13 01:57, Mantas Mikulėnas (grawity at gmail.com) wrote:

> On Nov 29, 2013 1:30 AM, "Cecil Westerhof" <Cecil.Westerhof at snow.nl> wrote:
> >
> > How does systemd compare to xinitd?
> 
> Did you mean inetd/xinetd?
> 
> systemd's .socket units are very similar (many existing programs, like
> sshd, can be moved directly from inetd to systemd -- Accept=yes corresponds
> to the 'nowait' type, and Accept=no to 'wait'), but since each . socket
> unit starts a corresponding . service unit, you get the same systemd
> features as with regular services -- dependencies, resource limits, process
> tracking, etc.
> 
> On the other hand, there is no support for things like TCPMUX, SunRPC
> services (though Avahi integration was planned once), or some more obscure
> xinetd options.
> 
> While both systems support both methods, systemd's socket activation is
> more often used to pass the *listener* socket to the service, which still
> does all accepting itself (e.g. both DBus and udev start this way);
> meanwhile, I see inetd more often used to start one instance per connection.

Also, systemd's socket activation is more generic, as it is not limited
to TCP/UDP sockets but can do AF_UNIX too, and fifos, and mqueues and a
couple of other things... In fact it's quite extensively used for these
kind of local IPC.

systemd also has nice functionality like "systemctl list-sockets" and
the ability to independently shut down/start up listening sockets, via
systemctl commands.

There are a couple of things xinetd does we don't, like the sunrpc
stuff. Most of that should be more on the exotic side however.

Lennart

-- 
Lennart Poettering, Red Hat


More information about the systemd-devel mailing list