daemontools is a collection of tools for managing UNIX services that was created by Daniel J. Bernstein.

To simplify management of the various daemons on the server, install daemontools. Asides from some other benefits, a really nice thing about daemontools is that gives a consistent means of managing different services rather than a mish-mosh of different init scripts, rc.d scripts, etc.

Setup a directory to download your source file into:

mkdir -p /package
chmod 1755 /package
cd /package

Download the current version of daemontools

wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
tar zxpf daemontools-0.76.tar.gz
cd admin/daemontools-0.76

This command fixes "the errno problem" with glibc 2.3 and newer, and should be safe to use on any system.

sed -i '/extern int errno/{s/^/\/* /;s/$/ *\//;G;s/$/#include <errno.h>/;}' src/error.h

This command fixes the problem with Mac OS X 10.4, and should only be used on OS X 10.4 machines.

echo x >> src/trypoll.c

Compile and install daemontools:


/service is meant to only hold symbolic links to the actual service directories. So create a directory in /var to hold them:

mkdir /var/service

CentOS 6 Specific
Starting daemontools with Upstart
The installer added a line to /etc/inittab to start svscan automatically, however that is obsolete in CentOS 6.x.
Remove the added line from /etc/inittab:


Create a new file /etc/init/svscan.conf, with the startup code in it:

cd /etc/init
echo "start on runlevel [12345]" > svscan.conf
echo "respawn" >> svscan.conf
echo "exec /command/svscanboot" >> svscan.conf

Tell init to re-read its configuration files and start svscanboot:

initctl reload-configuration
initctl start svscan


CentOS 7
CentOS 7 uses systemd
Create a new file /etc/systemd/system/daemontools.service, with the startup code in it:

Description=daemontools Start supervise

ExecStart=/command/svscanboot /dev/ttyS0


Start the service:

systemctl start daemontools.service

Test that it is running:

systemctl status daemontools.service

Enable it to start at boot:

systemctl enable daemontools.service


Daemontools-encore - adds numerous enhancements above what daemontools could do while maintaining backwards compatibility with daemontools.


Various bits of code, scripts, and procedures were put together with information from John Simpson's qmail.jms1.net website. It's an excellent resource on managing and setting up a Qmail server.

Recent Updates

  • 1 year 11 months ago
  • 1 year 11 months ago
  • 1 year 12 months ago
    php 8.x
  • 1 year 12 months ago
  • 1 year 12 months ago
    Drop Centos 5/6 stuff