|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
<head>
|
|
Packit |
ab56a9 |
<title>libdaemon @PACKAGE_VERSION@</title>
|
|
Packit |
ab56a9 |
<link rel="stylesheet" type="text/css" href="style.css" />
|
|
Packit |
ab56a9 |
</head>
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
<body>
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Copyright 2003-2009 Lennart Poettering <@PACKAGE_BUGREPORT@>
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
License
|
|
Packit |
ab56a9 |
News
|
|
Packit |
ab56a9 |
Overview
|
|
Packit |
ab56a9 |
Current Status
|
|
Packit |
ab56a9 |
Documentation
|
|
Packit |
ab56a9 |
Requirements
|
|
Packit |
ab56a9 |
Installation
|
|
Packit |
ab56a9 |
Acknowledgements
|
|
Packit |
ab56a9 |
Download
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
This program is free software; you can redistribute it and/or
|
|
Packit |
ab56a9 |
modify it under the terms of the GNU Lesser General Public License as
|
|
Packit |
ab56a9 |
published by the Free Software Foundation, either version 2.1 of the
|
|
Packit |
ab56a9 |
License, or (at your option) any later version.
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
This program is distributed in the hope that it will be useful, but
|
|
Packit |
ab56a9 |
WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit |
ab56a9 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Packit |
ab56a9 |
Lesser General Public License for more details.
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Sun Oct 18 2009:
|
|
Packit |
ab56a9 |
Version 0.14 released; changes include: add <tt>daemon_set_verbosity()</tt> call; numerous updates
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Tue Jul 29 2008:
|
|
Packit |
ab56a9 |
Version 0.13 released; changes include: add <tt>daemon_reset_sigs()</tt> and <tt>daemon_unblock_sigs()</tt> calls for resetting signal handlers to sensible states; improve error handling.
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Tue Jul 10 2007:
|
|
Packit |
ab56a9 |
Version 0.12 released; changes include: make <tt>daemon_close_all()</tt> actually work properly.
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Fri Jun 22 2007:
|
|
Packit |
ab56a9 |
Version 0.11 released; changes include: automatically detect whether lynx is installed; properly set <tt>errno</tt> on every error condition; add new function <tt>daemon_close_all()</tt> to close all open file descriptors except a given set; add <tt>daemon_logv()</tt>, which is identical to <tt>daemon_log()</tt>, but takes a <tt>va_list</tt> argument; add <tt>daemon_execv()</tt> in similar style; other fixes
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Thu Nov 24 2005:
|
|
Packit |
ab56a9 |
Version 0.10 released; changes include: make logging compatible with daemons running in a <tt>chroot()</tt> environment
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Fri Nov 18 2005:
|
|
Packit |
ab56a9 |
Version 0.9 released; changes include: portability (FreeBSD, NetBSD, OpenBSD, Darwin, Solaris, Cygwin); some minor header file cleanups; fix access mode of PID files; other cleanups; license change from GPL to LGPL
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Sat Jun 4 2005:
|
|
Packit |
ab56a9 |
Version 0.8 released; changes include: proper PID file locking
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Sat Dec 18 2004:
|
|
Packit |
ab56a9 |
Version 0.7 released; changes include: minor cleanups; C++ compatibility; gcc 2.95 compatiblity
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Wed Apr 7 2004:
|
|
Packit |
ab56a9 |
Version 0.6 released; changes include: backgrounding fixes, minor other stuff
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Tue Feb 10 2004:
|
|
Packit |
ab56a9 |
Version 0.5 released; changes include: signal handling fix, forking fix
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Sat Jan 10 2004:
|
|
Packit |
ab56a9 |
Version 0.4 released; changes include: new module <tt>dexec.c</tt>; added <tt>pkg-config</tt> support.
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Mon Oct 20 2003:
|
|
Packit |
ab56a9 |
Version 0.3 released; changes include: documentation update, build fixes, RPM spec file added, added new function int <tt>daemon_pid_file_kill_wait()</tt>.
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Thu July 10 2003:
|
|
Packit |
ab56a9 |
Version 0.2 released; changes include: ugly umask error fix, documentation update
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Mon July 7 2003:
|
|
Packit |
ab56a9 |
Version 0.1 released
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
<tt>libdaemon</tt> is a lightweight C library that eases the writing of UNIX
|
|
Packit |
ab56a9 |
daemons. It consists of the following parts:
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
A wrapper around <tt>fork()</tt> which does the correct
|
|
Packit |
ab56a9 |
daemonization procedure of a process
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
A wrapper around <tt>syslog()</tt> for simpler and compatible
|
|
Packit |
ab56a9 |
log output to Syslog or STDERR
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
An API for writing PID files
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
An API for serializing UNIX signals into a pipe for
|
|
Packit |
ab56a9 |
usage with <tt>select()</tt> or <tt>poll()</tt>
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
An API for running subprocesses with STDOUT and STDERR redirected to syslog.
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
APIs like these are used in most daemon software
|
|
Packit |
ab56a9 |
available. It is not that simple to get it done right and code
|
|
Packit |
ab56a9 |
duplication is not a goal.
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
<tt>libdaemon</tt> is currently used by
|
|
Packit |
ab56a9 |
href="http://0pointer.de/lennart/projects/ifplugd/"><tt>ifplugd</tt>,
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
href="http://freedesktop.org/Software/Avahi">Avahi,
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
href="http://0pointer.de/lennart/projects/ivam2/"><tt>ivam2</tt>,
|
|
Packit |
ab56a9 |
Nautilus-Share
|
|
Packit |
ab56a9 |
and
|
|
Packit |
ab56a9 |
href="http://0pointer.de/lennart/projects/aeswepd/"><tt>aeswepd</tt>.
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Version @PACKAGE_VERSION@ is feature complete.
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
An extensive API reference is
|
|
Packit |
ab56a9 |
href="reference/html/index.html">available
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
<tt>libdaemon</tt> was developed and tested on Debian GNU/Linux
|
|
Packit |
ab56a9 |
"testing" from July 2003, it should work on most other Linux
|
|
Packit |
ab56a9 |
distributions (and some Unix versions) since it uses GNU Autoconf and
|
|
Packit |
ab56a9 |
GNU libtool for source code configuration and shared library
|
|
Packit |
ab56a9 |
management.
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
<tt>libdaemon</tt> is known to work on modern Linux systems, FreeBSD, NetBSD, OpenBSD, Darwin, Solaris and Windows/Cygwin.
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
As this package is made with the GNU autotools you should run
|
|
Packit |
ab56a9 |
<tt>./configure</tt> inside the distribution directory for configuring
|
|
Packit |
ab56a9 |
the source tree. After that you should run <tt>make</tt> for
|
|
Packit |
ab56a9 |
compilation and <tt>make install</tt> (as root) for installation of
|
|
Packit |
ab56a9 |
<tt>libdaemon</tt>.
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Please use <tt>gmake</tt> instead of traditional <tt>make</tt> for compilation on non-Linux systems.
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Sebastien Estienne, for a lot of portability work.
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
The newest release is always available from @PACKAGE_URL@
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Get <tt>libdaemon</tt>'s development sources from the GIT repository (gitweb):
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
git clone git://git.0pointer.de/libdaemon
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
You may find an up to date Debian package of <tt>libdaemon</tt> on the Debian package repository.
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
If you want to be notified whenever I release a new version of this software use the subscription feature of Freshmeat.
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
<address class="grey">Lennart Poettering <@PACKAGE_BUGREPORT@>, October 2009</address>
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
</body>
|
|
Packit |
ab56a9 |
</html>
|