In Unix and other computer multitasking operating systems, a daemon (IPA pronunciation: /'deɪmən/ or /'dimən/) is a computer program that runs in the background, rather than under the direct control of a user; they are usually initiated as processes. Typically daemons have names that end with the letter "d" (for example, syslogd, the daemon that handles the system log, or sshd, which handles the incoming SSH connections).
In a UNIX-like environment, the parent process of a daemon is normally init (PPID=1). Processes usually become daemons by forking a child process and then having their parent process immediately exit, thus causing init to adopt the child process. This is a somewhat simplified view of things, naturally, as other operations are generally performed (such as disassociating the daemon process from any controlling tty), convenience routines such as daemon(3) existing in some UNIX systems for that purpose.
Systems often start (or "launch") daemons at boot 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.