1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206
|
libdaemon 0.12
Copyright 2003-2007 Lennart Poettering <mzqnrzba (at) 0pointer (dot)
de>
* [1]License
* [2]News
* [3]Overview
* [4]Current Status
* [5]Documentation
* [6]Requirements
* [7]Installation
* [8]Acknowledgements
* [9]Download
License
This library is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published
by the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
This library is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
USA
News
Tue Jul 10 2007:
[10]Version 0.12 released; changes include: make daemon_close_all()
actually work properly.
Fri Jun 22 2007:
[11]Version 0.11 released; changes include: automatically detect
whether lynx is installed; properly set errno on every error condition;
add new function daemon_close_all() to close all open file descriptors
except a given set; add daemon_logv(), which is identical to
daemon_log(), but takes a va_list argument; add daemon_execv() in
similar style; other fixes
Thu Nov 24 2005:
[12]Version 0.10 released; changes include: make logging compatible
with daemons running in a chroot() environment
Fri Nov 18 2005:
[13]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
Sat Jun 4 2005:
[14]Version 0.8 released; changes include: proper PID file locking
Sat Dec 18 2004:
[15]Version 0.7 released; changes include: minor cleanups; C++
compatibility; gcc 2.95 compatiblity
Wed Apr 7 2004:
[16]Version 0.6 released; changes include: backgrounding fixes, minor
other stuff
Tue Feb 10 2004:
[17]Version 0.5 released; changes include: signal handling fix, forking
fix
Sat Jan 10 2004:
[18]Version 0.4 released; changes include: new module dexec.c; added
pkg-config support.
Mon Oct 20 2003:
[19]Version 0.3 released; changes include: documentation update, build
fixes, RPM spec file added, added new function int
daemon_pid_file_kill_wait().
Thu July 10 2003:
[20]Version 0.2 released; changes include: ugly umask error fix,
documentation update
Mon July 7 2003:
[21]Version 0.1 released
Overview
libdaemon is a lightweight C library that eases the writing of UNIX
daemons. It consists of the following parts:
* A wrapper around fork() which does the correct daemonization
procedure of a process
* A wrapper around syslog() for simpler and compatible log output to
Syslog or STDERR
* An API for writing PID files
* An API for serializing UNIX signals into a pipe for usage with
select() or poll()
* An API for running subprocesses with STDOUT and STDERR redirected
to syslog.
APIs like these are used in most daemon software available. It is not
that simple to get it done right and code duplication is not a goal.
libdaemon is currently used by [22]ifplugd, [23]Avahi, [24]ivam2,
[25]Nautilus-Share and [26]aeswepd.
Current Status
Version 0.12 is feature complete.
Documentation
An extensive API reference is [27]available
Requirements
libdaemon was developed and tested on Debian GNU/Linux "testing" from
July 2003, it should work on most other Linux distributions (and some
Unix versions) since it uses GNU Autoconf and GNU libtool for source
code configuration and shared library management.
libdaemon is known to work on modern Linux systems, FreeBSD, NetBSD,
OpenBSD, Darwin, Solaris and Windows/Cygwin.
Installation
As this package is made with the GNU autotools you should run
./configure inside the distribution directory for configuring the
source tree. After that you should run make for compilation and make
install (as root) for installation of libdaemon.
Please use gmake instead of traditional make for compilation on
non-Linux systems.
Acknowledgements
Sebastien Estienne, for a lot of portability work.
Download
The newest release is always available from
[28]http://0pointer.de/lennart/projects/libdaemon/
Get libdaemon's development sources from the [29]Subversion
[30]repository ([31]viewcvs):
svn checkout svn://svn.0pointer.de/libdaemon/trunk libdaemon
You may find an up to date Debian package of libdaemon on the
[32]Debian package repository.
If you want to be notified whenever I release a new version of this
software use the subscription feature of [33]Freshmeat.
__________________________________________________________________
Lennart Poettering <mzqnrzba (at) 0pointer (dot) de>, July 2007
$Id: README.html.in 129 2007-07-10 17:48:11Z lennart $
References
1. README#license
2. README#news
3. README#overview
4. README#status
5. README#documentation
6. README#requirements
7. README#installation
8. README#acks
9. README#download
10. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.12.tar.gz
11. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.11.tar.gz
12. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.10.tar.gz
13. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.9.tar.gz
14. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.8.tar.gz
15. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.7.tar.gz
16. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.6.tar.gz
17. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.5.tar.gz
18. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.4.tar.gz
19. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.3.tar.gz
20. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.2.tar.gz
21. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.1.tar.gz
22. http://0pointer.de/lennart/projects/ifplugd/
23. http://freedesktop.org/Software/Avahi
24. http://0pointer.de/lennart/projects/ivam2/
25. http://gentoo.ovibes.net/nautilus-share/mediawiki-1.4.4/index.php/Accueil
26. http://0pointer.de/lennart/projects/aeswepd/
27. reference/html/index.html
28. http://0pointer.de/lennart/projects/libdaemon/
29. http://subversion.tigris.org/
30. svn://svn.0pointer.de/libdaemon
31. http://0pointer.de/cgi-bin/viewcvs.cgi/?root=libdaemon
32. http://packages.debian.org/libdaemon0
33. http://freshmeat.net/projects/libdaemon/
|