svclean

svclean is a set of utilities for enhancing svscan and supervise. With these tools, you get clean shutdown (i.e., services are guaranteed to be stopped before their loggers, so no logs are lost) and supervised logging of svscan's and supervise's output (so if the last-resort logger is killed, it can be restarted). svclean-conf is a configuration package for svclean. These features are practically necessary for running svscan as process 1, but are useful even when svscan does not run as process 1. Ideally, equivalent features would be included in a future version of daemontools, and this package would become obsolete.

This package is discussed on the prjware list. New releases are announced on the prjware-announce list.

Releases

svclean and svsclean-conf are devoid of warranty and are distributed under the GNU General Public License, version 2. But that doesn't mean it's necessarily a good idea for you to distribute modified versions. (That includes repackaging.) I'd like to know if you plan to do that.

This link always points to the latest version of svclean (currently 2004.07.16).

This link always points to the latest version of svclean-conf (currently 2004.07.16).

Older versions are published for historical interest.

Upgrading svclean-conf is not necessarily a good idea, because you must remember to copy your old configuration. New versions are provided only for improvements in the build system.

After upgrading svclean, you must restart svscan to put the new version into use, which may involve rebooting.

Dependencies

To build svclean, you need Laurent Bercot's skalibs package. Edit conf-compile/depend_* as necessary during installation.

Installation

slashpackage is a good thing. You can read more about it here. If you don't already have /package, create it (on any filesystem you like, as long as it's accessible by the name “/package”):

# mkdir -p /usr/local/package
# ln -s /usr/local/package /
# chmod +t /package/.

Then run sp-install:

# sp-install svclean-VERSION.tar.bz2

Or, if you like to do things manually, unpack the tarball and run package/install:

# cd /package
# bunzip2 < /path/to/svclean-VERSION.tar.bz2 |
> tar -xpf -
# cd admin/svclean-VERSION
# package/install

Read package/README and package/INSTALL for more detailed instructions.

Documentation

svclean:

svclean-conf:

Current known bugs

None.

To do

A replacement command for svscan that integrates the functionality of the wrappers. Possible extra features: reap zombies immediately rather than every 5 seconds; scan /service for new services only when notified via a named pipe; have a global "shutdown" state where supervise will not be restarted; make the supervise command line configurable.