What are the daemontools and why do I need them?

The daemontools are a collection of small programs for system administrators for easy maintenance of daemons.

The concept of the daemontools is that daemons should not fork in the background. If daemons don't fork, the invoking program knows the PID of each daemon and keep track of the deamon, i.e. it will know when the daemon terminated.

Many daemons (like squid) already come with a command line option to prevent forking off in the background, others are easily patched. Alternatively, the daemontools provide a program called fghack that will execute a daemon and only exit after that daemon exited.

The main advantage is that you can tell daemontools to send a signal to a daemon without resorting to evil kludges like killall or /var/run/daemon.pid. Daemontools will also restart a daemon when it dumps core and you can even ask daemontools how long a specific daemon has been running!

What does your diff do?

It adds man pages. Older versions of daemontools came with man pages, but Dan Bernstein chose to remove all documentation from his software and put them on his web page http://cr.yp.to/ instead. The reason for that decision was that he updates the documentation much more often than his software and wants to provide accurate documentation.

Some people (including me) are fans of man pages as they are the standard documentation format for Unix, so here are the man pages.

Where can I get the patch?

Simply download daemontools-0.70-man.diff.bz2. Beware: unified diff format (you probably need GNU patch to apply it).

See Also

If you like this, you should probably also go to:

  1. another package with man pages for daemontools
  2. patches for different daemons to prevent them from forking in the background.
  3. watchpid
  4. my libdjb project
  5. my djbdns patches
  6. my ucspi patches
  7. bzip2, the compressor I used to compress the diff.