From Wikipedia, the free encyclopedia.
In Unix and other computer operating systems, a daemon -- sometimes called a phantom -- is a particular class of computer program which runs in the background, rather than under the direct control of a user; they are usually instantiated as processeses.
Systems often "launch" daemons at start-up time: they often serve the function of responding to network requests, hardware activity, or other programs by performing some task. Daemons can also configure hardware (like devfsd on some Linux systems), run scheduled tasks (like cron), and perform a variety of other tasks.
The programmers of CTSS coined the term, and all the systems descended from it, including Unix, have inherited the terminology. (For a fuller explanation of the origin of the name, see this page.)
In a strictly technical sense, Unix recognises as a daemon any process which has process number 1 (init) as its parent process. The init process adopts any process whose parent dies without waiting for the child's status, so the common method for launching a daemon involves forking once or twice, and making the parent (and grandparent) die while the child (or grandchild) process begins performing its normal function. The idiom is sometimes summarized with the phrase "fork off and die".
In common Unix usage a daemon may be any background process, whether a child of init or not. UNIX users sometimes spell daemon as demon, and most usually pronounce the word that way.
On Microsoft Windows systems, programs called "services" perform the functions of daemons, though the term "daemon" has started to creep into common usage on that platform as well.

