 * launchtool README

Launchtool is a bit like start-stop-daemon. The differences are:

 - launchtool is more featureful;
 - start-stop-daemon is more tested.

Ideally, features should be ported from launchtool to start-stop-daemon.
The best way to do so, is to remove daemonisation and pidfile features from
launchtool and just turn it into an application wrapper that handles restart
policies and logging.

Features that are already in start-stop-daemon:

       -k, --kill[=signal]
       --check
       -d, --daemon, “daemon”
       -n, --no-daemon
       --pidfile, “pidfile”
       --no-pidfile
       --piddir=dir, “piddir”
       --chroot=dir, “root dir”
       --chdir=dir, “start dir”
       -u, --user=user, “user”
       -g, --group=group, “group”
       --umask=mask, “umask”

Features that can be implemented in a simple wrapper/supervisor command:

       -L, --infinite-runs, “infinite runs”
       --no-infinite-runs
       --wait-times=t1,t2,... , “wait times”
       --good-running-time=seconds, “good running time”
       --forwarded-signals=sig1,sig2,... , “forwarded signals”
       --blocked-signals=sig1,sig2,... , “blocked signals”
       --limit-cpu=seconds, “cpu limit”
       --limit-file-size=1024b-blocks, “file size limit”
       --limit-data-memory=1024b-blocks, “data memory limit”
       --limit-process-count=count, “process count limit”
       --limit-open-files=count, “open files limit”
       --limit-core-size=1024b-blocks, “core size limit”
       --restrict-environment, “restrict environment”
       --no-restrict-environment
       --allowed-env-vars=var1,var2,... , “allowed env vars”
       --log-launchtool-output=target, “launchtool output”
       --log-launchtool-errors=target, “launchtool errors”
       --log-child-output=target, “command output”
       --log-child-errors=target, “command errors”
       --silent-restart-status=value, “silent restart status”
       --silent-restart-time=seconds, “silent restart time”
       --stats, “stats”
       --no-stats


Other TODO items:

 - Port to wibble.
 - Improve commandline help: give a summary of the kind of options and
   implement --help-something subpages to avoid cluttering the screen
   presenting them all in a single run
 - Improve environment management; see if there's a "proper" way to create a
   clean environment
 - Add an option to directly execute command and arguments instead of passing
   them to sh -c

I do not know when I will have time to dedicate to launchtool. Most of the work
should be rather straightforward, as it's based on the existing code. Also,
most of the code in common/ is now maintained in the wibble library and can
just be dropped.

Please feel free to send patches, to offer to comaintain or take over
maintainership.


Enrico Zini
