DistributedNetworks DistributedNetworks

Network Daemons  «Prev 

Stand-alone Servers

Although inetd is a very useful tool for starting network servers, it is not appropriate for all servers. Using inetd to start the new server process requires significant system overhead. Servers that must handle many connections over short periods of time are typically run independently of inetd.
For example, a Web server, or http[1] daemon, must respond to a new connection every time someone requests a Web page. Having inetd start a new HTTP process for each incoming connection would be much too slow. Therefore, the Web server process runs independently of inetd and will show up in a ps listing.

inetd (internet service daemon) is a super-server daemon on many Unix systems that manages Internet services. It first appeared in 4.3BSD and is generally located at /usr/sbin/inetd.
Often called a super-server, inetd listens on designated ports used by Internet services such as FTP, POP3, and telnet. When a TCP packet or UDP packet arrives with a particular destination port number, inetd launches the appropriate server program to handle the connection. For services that are not expected to run with high loads, this method uses memory more efficiently, since the specific servers run only when needed.
Furthermore, no network code is required in the application-specific daemons, as inetd hooks the sockets directly to stdin, stdout and stderr of the spawned process. For protocols that have frequent traffic, such as HTTP and POP3, a dedicated server that intercepts the traffic directly may be a more practical alternative.

[1]Hypertext Transfer Protocol (HTTP): Hypertext Transport Protocol defines how messages are formatted and transmitted over the Web and how Web browsers should respond to those messages.