Daemontools

Credits

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.

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.

Installation
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:

package/install

/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

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

[Unit]
Description=daemontools Start supervise
After=getty.target

[Service]
Type=simple
User=root
Group=root
Restart=always
ExecStart=/command/svscanboot /dev/ttyS0
TimeoutSec=0

[Install]
WantedBy=multi-user.target

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

http://www.clever-devel.com/wiki/daemontools_starting_systemd

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

Recent Updates

  • 4 days 23 hours ago
    1.27.2 update
  • 2 weeks 2 days ago
    Drupal 10/11 config
  • 2 weeks 3 days ago
  • PHP
    2 weeks 3 days ago
    PHP 8.3.11 and AlmaLinux
  • 2 weeks 4 days ago
    New version of Pound