Daemon (background computer process)
A daemon is a background computer program commonly found on Unix-like systems; this article explains what daemons are, how they run, typical uses, historical context, and how they differ from ordinary processes.
Overview
A daemon is a program that runs in the background to provide services or perform tasks without direct interactive control by a user. The term is widely used in Unix and Unix-like environments; in such systems daemons usually start at boot or when requested, and continue running to handle events, connections, scheduled jobs, or system maintenance. Many daemon names end with the letter "d" (for example sshd or httpd), a convention that helps identify them as background service processes. For background processes and multitasking concepts see related materials and context within operating systems.
Characteristics and behavior
Daemons are ordinary user-space processes but follow a set of common practices to run reliably in the background. Typical steps include detaching from any controlling terminal, running in their own session, changing the working directory to a safe location, closing or redirecting standard input/output streams, and creating a process identifier (PID) file so other tools can find and manage them. Daemons usually run with least privilege required for their function and respond to signals for reconfiguration, termination, or log rotation.
Examples and typical uses
- Network servers (for example, a web server or an SSH server such as sshd).
- Logging and monitoring services that collect and store system events.
- Task schedulers and job runners that execute work at set intervals.
- Device or print spoolers that mediate access to hardware.
Common daemon names include httpd (web), sshd (secure shell), cron or crond (scheduled tasks), and syslogd (system logging). Many distributions provide tools and standards for starting, stopping, and supervising daemons.
History and management
The daemon concept predates modern init systems and has evolved alongside them. Traditional initialization schemes started daemons in sequence at boot, while modern service managers provide dependency handling, on-demand activation, and supervision. Administrators interact with daemons using commands provided by the system's init or service manager, read configuration files that control behavior, and monitor logs for errors.
Distinctions and notable facts
While "daemon" is the common term on Unix-like platforms, other operating systems use terms such as "service" or "background process." Functionally the ideas overlap, but management interfaces and lifecycle conventions may differ. A daemon is not inherently privileged: its security posture depends on implementation, configuration, and the privileges with which it runs. For general reference on software concepts, see related documentation and additional resources at technical guides.
Questions and answers
Q: What is a daemon in computer software?
A: A daemon is a computer program that runs as a background task in Unix and other multitasking operating systems.
Q: How is daemon pronounced?
A: Daemon can be pronounced as /ˈdiːmən/ or /ˈdeɪmən/.
Q: What kind of tasks do many daemons perform?
A: Many daemons perform tasks such as handling the system log, web requests, or incoming SSH connections.
Q: What is an example of a daemon that handles the system log?
A: An example of a daemon that handles the system log is syslogd.
Q: What is an example of a daemon that handles web requests?
A: An example of a daemon that handles web requests is httpd.
Q: What is an example of a daemon that takes care of incoming SSH connections?
A: An example of a daemon that takes care of incoming SSH connections is sshd.
Q: What is the naming convention for many daemons?
A: Many daemons have names that end with the letter "d".
Related articles
Author
AlegsaOnline.com Daemon (background computer process) Leandro Alegsa
URL: https://en.alegsaonline.com/art/25060
Sources
- catb.org : "daemon"