xinetd - the extended Internet services daemon
xinetd performs the same function as inetd: it starts programs that provide Internet services. Instead of having such servers started at system initialization time, and be dormant until a connection request arrives, xinetd is the only daemon process started and it listens on all service ports for the services listed in its configuration file. When a request comes in, xinetd starts the appropriate server. Because of the way it operates, xinetd (as well as inetd) is also referred to as a super-server. The services listed in xinetd's configuration file can be separated into two groups. Services in the first group are called multi-threaded and they require the forking of a new server process for each new connection request. The new server then handles that connection. For such services, xinetd keeps listening for new requests so that it can spawn new servers. On the other hand, the second group includes services for which the service daemon is responsible for handling all new connection requests. Such services are called single-threaded and xinetd will stop handling new requests for them until the server dies. Services in this group are usually datagram-based. So far, the only reason for the existence of a super-server was to conserve system resources by avoiding to fork a lot of processes which might be dormant for most of their lifetime. While fulfilling this function, xinetd takes advantage of the idea of a super-server to provide features such as access control and logging. Furthermore, xinetd is not limited to services listed in /etc/services. Therefore, anybody can use xinetd to start special-purpose servers.
-d Enables debug mode. This produces a lot of debugging output, and it makes it possible to use a debugger on xinetd. -syslog syslog_facility This option enables syslog logging of xinetd-produced messages using the specified syslog facility. The following facility names are supported: daemon, auth, user, local[0-7] (check syslog.conf(5) for their meanings). This option is ineffective in debug mode since all relevant messages are sent to the terminal. -filelog logfile xinetd-produced messages will be placed in the specified file. Messages are always appended to the file. If the file does not exist, it will be created. This option is ineffective in debug mode since all relevant messages are sent to the terminal. -f config_file Determines the file that xinetd uses for configuration. The default is /etc/xinetd.conf. -pidfile pid_file The process ID is written to the file. This option is ineffective in debug mode. -dontfork Tells xinetd to stay in the foreground rather than detaching itself, to support being run from init or daemontools. This option automatically sets -stayalive (see below). -stayalive Tells xinetd to stay running even if no services are specified. -limit proc_limit This option places a limit on the number of concurrently running processes that can be started by xinetd. Its purpose is to prevent process table overflows. -logprocs limit This option places a limit on the number of concurrently running servers for remote userid acquisition. -version This option causes xinetd to print out its version information. -inetd_compat This option causes xinetd to read /etc/inetd.conf in addition to the standard xinetd config files. /etc/inetd.conf is read after the standard xinetd config files. -cc interval This option instructs xinetd to perform periodic consistency checks on its internal state every interval seconds. The syslog and filelog options are mutually exclusive. If none is specified, the default is syslog using the daemon facility. You should not confuse xinetd messages with messages related to service logging. The latter are logged only if this is specified via the configuration file.
xinetd performs certain actions when it receives certain signals. The actions associated with the specific signals can be redefined by editing config.h and recompiling. SIGHUP causes a hard reconfiguration, which means that xinetd re-reads the configuration file and terminates the servers for services that are no longer available. Access control is performed again on running servers by checking the remote location, access times and server instances. If the number of server instances is lowered, some arbitrarily picked servers will be killed to satisfy the limit; this will happen after any servers are terminated because of failing the remote location or access time checks. Also, if the INTERCEPT flag was clear and is set, any running servers for that service will be terminated; the purpose of this is to ensure that after a hard reconfiguration there will be no running servers that can accept packets from addresses that do not meet the access control criteria. SIGQUIT causes program termination. SIGTERM terminates all running servers before terminating xinetd. SIGUSR1 causes an internal state dump (the default dump file is /var/run/xinetd.dump; to change the filename, edit config.h and recompile). SIGABRT causes an internal consistency check to verify that the data structures used by the program have not been corrupted. When the check is completed xinetd will generate a message that says if the check was successful or not. On reconfiguration the log files are closed and reopened. This allows removal of old log files.
/etc/xinetd.conf default configuration file /var/run/xinetd.dump default dump file
REMOTE_HOST Contains the IP address of the client.
inetd(8), xinetd.conf(5), xinetd.log(5) http://cr.yp.to/daemontools.html
Panos Tsirigotis, CS Dept, University of Colorado, Boulder Rob Braun
zy-net-d 14 June 2001 XINETD(8)
More Linux Commands
timer_delete(2) - delete a POSIX per-process timer (ManPage)
timer_delete() deletes the timer whose ID is given in timerid. If the timer was armed at the time of this call, it is disarmed before being deleted. The treatme
sundancer2(1) - rotating stack of quads. - Linux man page...
Neat rotation effects from rotation and skewing stack of transparent squares. Ported to Linux by Tugrul Galatali. OPTIONS --root Draw on the root window. --maxf
pvcreate(8) - initialize a disk or partition for use by LVM
pvcreate initializes PhysicalVolume for later use by the Logical Volume Manager (LVM). Each PhysicalVolume can be a disk partition, whole disk, meta device, or
my(n) invoke any method of current object - Linux man page
The my command is used to allow methods of objects to invoke any method of the object (or its class). In particular, the set of valid values for methodName is t
pcre16_dfa_exec(3) Perl-compatible regular expressions......
This function matches a compiled regular expression against a given subject string, using an alternative matching algorithm that scans the subject string just o
minor(3) - manage a device number - Linux manual page.......
A device ID consists of two parts: a major ID, identifying the class of the device, and a minor ID, identifying a specific instance of a device in that class. A
napms_sp(3ncurses) - curses screen-pointer extension........
This implementation can be configured to provide a set of functions which improve the ability to manage multiple screens. This feature can be added to any of th
klogconsole(8) - Tells the kernel to what terminal it should
The program klogconsole tells the kernel to what terminal and starting from what level it should copy printk(9) messages. General Options -l <console_loglevel>
aa-unconfined(8) output a list of processes with tcp or udp
aa-unconfined.8 - aa-unconfined will use netstat(8) to determine which processes have open network sockets and do not have AppArmor profiles loaded into the ker
xdm(1) - X Display Manager with support for XDMCP, host choo
Xdm manages a collection of X displays, which may be on the local host or remote servers. The design of xdm was guided by the needs of X terminals as well as Th
ldap_search_s(3) - Perform an LDAP search operation.........
These routines are used to perform LDAP search operations. The ldap_search_ext_s() routine does the search synchronously (i.e., not returning until the operatio
DefaultRootWindow(3) - Display macros and functions.........
The AllPlanes macro returns a value with all bits set to 1 suitable for use in a plane argument to a procedure. The BlackPixel macro returns the black pixel val