Enrico ZiniEnrico Zinihttp://www.enricozini.org/Enrico Ziniikiwiki2009-07-08T12:23:30ZReleased launchtool 0.8http://www.enricozini.org/sw/launchtool/launchtool-0.8/2009-07-08T12:23:30Z2009-07-08T12:23:30Z
<h1>Released launchtool 0.8</h1>
<p>I have released <a href="http://www.enricozini.org/./sw/launchtool/launchtool-0.8.tar.gz">version 0.8</a> of <a href="http://www.enricozini.org/./sw/launchtool/">launchtool</a>.
Changes are minor, mostly fixes to the autotools packaging.</p>
<p>It is a good opportunity to document my intentions for future development:
<a href="http://www.enricozini.org/./sw/launchtool/">launchtool</a> is a bit like start-stop-daemon. The differences are:</p>
<ul>
<li>launchtool is more featureful;</li>
<li>start-stop-daemon is more tested.</li>
</ul>
<p>Ideally, everything should be reorganised so that one can use start-stop-daemon
instead of <a href="http://www.enricozini.org/./sw/launchtool/">launchtool</a>, without losing features.</p>
<p>The best way to do so, is to remove from <a href="http://www.enricozini.org/./sw/launchtool/">launchtool</a> those features that are
in start-stop-daemon, and turn what remains into an application wrapper that
handles restart policies and logging.</p>
<p>Features that are already in start-stop-daemon:</p>
<pre><code> -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”
</code></pre>
<p>Features that can be implemented in a simple wrapper/supervisor command:</p>
<pre><code> -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
</code></pre>
<p>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.</p>
<p>Also, most of the code in common/ has now been cleaned up and is now maintained
in the wibble library, so <a href="http://www.enricozini.org/./sw/launchtool/">launchtool</a>'s code can be made to shrink
considerably.</p>
<p>My time to work on it is limited, but I welcome patches, offers of group
maintenance or offers to take over maintainership.</p>