<operating system> /day'mn/ or /dee'mn/ (From the mythological meaning, later rationalised as the acronym "Disk And Execution MONitor") A program that is not invoked explicitly, but lies dormant waiting for some condition(s) to occur.
The idea is that the perpetrator of the condition need not be aware that a daemon is lurking (though often a program will commit an action only because it knows that it will implicitly invoke a daemon).
For example, under ITS
writing a file on the LPT
spooler's directory would invoke the spooling daemon, which would then print the file.
The advantage is that programs wanting files printed need neither compete for access to, nor understand any idiosyncrasies of, the LPT
They simply enter their implicit requests and let the daemon decide what to do with them.
Daemons are usually spawned automatically by the system, and may either live forever or be regenerated at intervals.
systems run many daemons, chiefly to handle requests for services from other host
s on a network
Most of these are now started as required by a single real daemon, inetd
, rather than running continuously.
Examples are cron
(local timed command execution), rshd (remote command execution), rlogind and telnetd (remote login), ftpd, nfsd (file transfer), lpd (printing).
Daemon and demon
are often used interchangeably, but seem to have distinct connotations (see demon
The term "daemon" was introduced to computing by CTSS
people (who pronounced it /dee'mon/) and used it to refer to what ITS
called a dragon