Talk:Daemon (computer software)
Controlled by another program?
The original UNIX definition was that a daemon had no associated tty, but I'd hesitate to say that it isn't controlled by another program -- to me, the program that spawns it exerts control. It should be sufficient to say it has no user. Howard C. Berkowitz 20:11, 1 October 2009 (UTC)
- Good point. I was thinking of daemons that respond only to events, but of course programs can generate those events also. A daemon is controlled by its parent, even if that control is only to terminate the daemon.
- Webopedia uses the concept of "background process" http://www.webopedia.com/TERM/D/daemon.html, meaning "not controlled by the user". I'll delete "or another program".
- --David MacQuigg 20:38, 1 October 2009 (UTC)
Pat, I think the latest edits are incorrect, and we should revert to the previous wording until we have more time to discuss.
1) "A daemon is a computer program that runs automatically when a computer boots up, as opposed to being directly started by a user."
Daemons can be started either way, and many are started (and restarted) by some user action. Sendmail, for example, runs as a daemon. I restart it every time I make a configuration change. Same for the mail filter and the spam-blocking process, firewalls, etc.
2) "doing everything from scheduling tasks to"
If we make a distinction between the old wording "running scheduled tasks" and the new wording "scheduling tasks", then the former is more common. I am thinking of the cron daemon. The user sets up whatever schedule is to be followed. Thereafter, the daemon runs the designated tasks, following the schedule set up by the user. I don't know of any daemons that actually schedule the tasks themselves, although nothing would prevent that. The cron schedule is just a text file.
3) "Daemons, or services, run in the background"
I don't think this is always true, but perhaps we could ask someone more experienced in Unix systems. The background/foreground issue has more to do with priority of tasks. User-controlled processes usually need priority over daemons, but I can imagine a daemon running in the foreground if it needs a higher priority.
4) "Daemon is the term used in Unix"
This is a minor issue, more a matter of style than correctness, but I do think some readers, particularly those that are familiar only with Windows, will wonder about the origin of Unix terms like daemon, the archaic spelling, etc. It might be re-assuring to let them know this is just a bit of geek humor, not some fundamental concept they are missing.
--David MacQuigg 15:47, 22 February 2010 (UTC)