Daemon (computer software)
![]() | An editor is changing this article for a short while. This is called a major change. Please do not change this article. The person who added this notice will be shown in the change history of this article. If this article has not been changed recently, please remove this template to let others change it. This message is to help stop change conflicts. This article was last changed by NonvocalScream (06-06-2009 · see diff) |
In Unix and in other computer multitasking operating systems, a daemon (pronounced /ˈdiːmən/ or /ˈdeɪmən/)[1] is a computer program that runs in the background task. This task, rather than existing under the control of a user; they are usually initiated as background processes. Normally, daemons have names that end with the letter "d": for example, syslogd, the daemon that handles the system log, or sshd, which handles incoming SSH connections.
In a Unix environment, the parent process of a daemon is often (but not always) the init process (PID=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 the process as other operations are generally performed, such as disassociating the daemon process from any controlling tty. Convenience routines such as daemon(3) exist in some UNIX systems for that purpose.
Systems often start (or "launch") daemons at boot. They usually serve the job of listening to and processing network requests, hardware activity, or other programs by performing some task. Daemons can also set up hardware (like devfsd on some Linux systems), run scheduled tasks (like cron), and perform a variety of other tasks.
References
- ↑ Eric S. Raymond. "daemon". The Jargon File. Retrieved 2008-10-22.
See also
- Server
- List of computer term etymologies
- Windows service
- Terminate and Stay Resident
- User space
- Service Wrapper