inetd

Furthermore, in inetd's "nowait" mode of service management, no network code is required in the service-specific programs, as inetd hooks the network stream directly to stdin and stdout of the spawned process.

It is resolved using the system database to map port numbers and protocols to service names.

A single-threaded server expects inetd to wait until it finishes reading all the data.

Otherwise inetd lets the server run and spawns new, concurrent processes for new requests.

In the example, inetd is told to launch the program /usr/sbin/telnetd with the command line arguments telnetd -a. inetd automatically hooks the socket to stdin, stdout, and stderr of the server program.

Some simple services, such as echo, are handled directly by inetd, without spawning an external server.

In recent years, because of the security limitations in the original design of inetd, it has been replaced by xinetd, rlinetd, ucspi-tcp, and others in many systems.

As of version Mac OS X v10.4, Apple has merged the functionality of inetd into launchd.

[3][4] While the inetd concept as a service dispatcher is not inherently insecure, the long list of services that inetd traditionally provided gave computer security experts pause.

It is not uncommon to find an /etc/inetd.conf with almost all the services commented out in a modern Unix distribution.