3 Copyright 2003-2009 Lennart Poettering <mzqnrzba (at) 0pointer (dot)
17 This program is free software; you can redistribute it and/or modify it
18 under the terms of the GNU Lesser General Public License as published
19 by the Free Software Foundation, either version 2.1 of the License, or
20 (at your option) any later version.
22 This program is distributed in the hope that it will be useful, but
23 WITHOUT ANY WARRANTY; without even the implied warranty of
24 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
25 General Public License for more details.
31 [10]Version 0.14 released; changes include: add daemon_set_verbosity()
32 call; numerous updates
36 [11]Version 0.13 released; changes include: add daemon_reset_sigs() and
37 daemon_unblock_sigs() calls for resetting signal handlers to sensible
38 states; improve error handling.
42 [12]Version 0.12 released; changes include: make daemon_close_all()
43 actually work properly.
47 [13]Version 0.11 released; changes include: automatically detect
48 whether lynx is installed; properly set errno on every error condition;
49 add new function daemon_close_all() to close all open file descriptors
50 except a given set; add daemon_logv(), which is identical to
51 daemon_log(), but takes a va_list argument; add daemon_execv() in
52 similar style; other fixes
56 [14]Version 0.10 released; changes include: make logging compatible
57 with daemons running in a chroot() environment
61 [15]Version 0.9 released; changes include: portability (FreeBSD,
62 NetBSD, OpenBSD, Darwin, Solaris, Cygwin); some minor header file
63 cleanups; fix access mode of PID files; other cleanups; license change
68 [16]Version 0.8 released; changes include: proper PID file locking
72 [17]Version 0.7 released; changes include: minor cleanups; C++
73 compatibility; gcc 2.95 compatiblity
77 [18]Version 0.6 released; changes include: backgrounding fixes, minor
82 [19]Version 0.5 released; changes include: signal handling fix, forking
87 [20]Version 0.4 released; changes include: new module dexec.c; added
92 [21]Version 0.3 released; changes include: documentation update, build
93 fixes, RPM spec file added, added new function int
94 daemon_pid_file_kill_wait().
98 [22]Version 0.2 released; changes include: ugly umask error fix,
103 [23]Version 0.1 released
107 libdaemon is a lightweight C library that eases the writing of UNIX
108 daemons. It consists of the following parts:
109 * A wrapper around fork() which does the correct daemonization
110 procedure of a process
111 * A wrapper around syslog() for simpler and compatible log output to
113 * An API for writing PID files
114 * An API for serializing UNIX signals into a pipe for usage with
116 * An API for running subprocesses with STDOUT and STDERR redirected
119 APIs like these are used in most daemon software available. It is not
120 that simple to get it done right and code duplication is not a goal.
122 libdaemon is currently used by [24]ifplugd, [25]Avahi, [26]ivam2,
123 [27]Nautilus-Share and [28]aeswepd.
127 Version 0.14 is feature complete.
131 An extensive API reference is [29]available
135 libdaemon was developed and tested on Debian GNU/Linux "testing" from
136 July 2003, it should work on most other Linux distributions (and some
137 Unix versions) since it uses GNU Autoconf and GNU libtool for source
138 code configuration and shared library management.
140 libdaemon is known to work on modern Linux systems, FreeBSD, NetBSD,
141 OpenBSD, Darwin, Solaris and Windows/Cygwin.
145 As this package is made with the GNU autotools you should run
146 ./configure inside the distribution directory for configuring the
147 source tree. After that you should run make for compilation and make
148 install (as root) for installation of libdaemon.
150 Please use gmake instead of traditional make for compilation on
155 Sebastien Estienne, for a lot of portability work.
159 The newest release is always available from
160 [30]http://0pointer.de/lennart/projects/libdaemon/
162 Get libdaemon's development sources from the [31]GIT [32]repository
164 git clone git://git.0pointer.de/libdaemon
166 You may find an up to date Debian package of libdaemon on the
167 [34]Debian package repository.
169 If you want to be notified whenever I release a new version of this
170 software use the subscription feature of [35]Freshmeat.
171 __________________________________________________________________
174 Lennart Poettering <mzqnrzba (at) 0pointer (dot) de>, October 2009
182 5. README#documentation
183 6. README#requirements
184 7. README#installation
187 10. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.14.tar.gz
188 11. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.13.tar.gz
189 12. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.12.tar.gz
190 13. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.11.tar.gz
191 14. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.10.tar.gz
192 15. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.9.tar.gz
193 16. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.8.tar.gz
194 17. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.7.tar.gz
195 18. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.6.tar.gz
196 19. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.5.tar.gz
197 20. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.4.tar.gz
198 21. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.3.tar.gz
199 22. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.2.tar.gz
200 23. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.1.tar.gz
201 24. http://0pointer.de/lennart/projects/ifplugd/
202 25. http://freedesktop.org/Software/Avahi
203 26. http://0pointer.de/lennart/projects/ivam2/
204 27. http://gentoo.ovibes.net/nautilus-share/mediawiki-1.4.4/index.php/Accueil
205 28. http://0pointer.de/lennart/projects/aeswepd/
206 29. reference/html/index.html
207 30. http://0pointer.de/lennart/projects/libdaemon/
208 31. http://git.or.cz/
209 32. git://git.0pointer.de/libdaemon
210 33. http://git.0pointer.de/?p=libdaemon.git
211 34. http://packages.debian.org/libdaemon0
212 35. http://freshmeat.net/projects/libdaemon/