1 libdaemon 0.14 2 3 Copyright 2003-2009 Lennart Poettering <mzqnrzba (at) 0pointer (dot) 4 de> 5 * [1]License 6 * [2]News 7 * [3]Overview 8 * [4]Current Status 9 * [5]Documentation 10 * [6]Requirements 11 * [7]Installation 12 * [8]Acknowledgements 13 * [9]Download 14 15License 16 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. 21 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. 26 27News 28 29 Sun Oct 18 2009: 30 31 [10]Version 0.14 released; changes include: add daemon_set_verbosity() 32 call; numerous updates 33 34 Tue Jul 29 2008: 35 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. 39 40 Tue Jul 10 2007: 41 42 [12]Version 0.12 released; changes include: make daemon_close_all() 43 actually work properly. 44 45 Fri Jun 22 2007: 46 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 53 54 Thu Nov 24 2005: 55 56 [14]Version 0.10 released; changes include: make logging compatible 57 with daemons running in a chroot() environment 58 59 Fri Nov 18 2005: 60 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 64 from GPL to LGPL 65 66 Sat Jun 4 2005: 67 68 [16]Version 0.8 released; changes include: proper PID file locking 69 70 Sat Dec 18 2004: 71 72 [17]Version 0.7 released; changes include: minor cleanups; C++ 73 compatibility; gcc 2.95 compatiblity 74 75 Wed Apr 7 2004: 76 77 [18]Version 0.6 released; changes include: backgrounding fixes, minor 78 other stuff 79 80 Tue Feb 10 2004: 81 82 [19]Version 0.5 released; changes include: signal handling fix, forking 83 fix 84 85 Sat Jan 10 2004: 86 87 [20]Version 0.4 released; changes include: new module dexec.c; added 88 pkg-config support. 89 90 Mon Oct 20 2003: 91 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(). 95 96 Thu July 10 2003: 97 98 [22]Version 0.2 released; changes include: ugly umask error fix, 99 documentation update 100 101 Mon July 7 2003: 102 103 [23]Version 0.1 released 104 105Overview 106 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 112 Syslog or STDERR 113 * An API for writing PID files 114 * An API for serializing UNIX signals into a pipe for usage with 115 select() or poll() 116 * An API for running subprocesses with STDOUT and STDERR redirected 117 to syslog. 118 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. 121 122 libdaemon is currently used by [24]ifplugd, [25]Avahi, [26]ivam2, 123 [27]Nautilus-Share and [28]aeswepd. 124 125Current Status 126 127 Version 0.14 is feature complete. 128 129Documentation 130 131 An extensive API reference is [29]available 132 133Requirements 134 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. 139 140 libdaemon is known to work on modern Linux systems, FreeBSD, NetBSD, 141 OpenBSD, Darwin, Solaris and Windows/Cygwin. 142 143Installation 144 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. 149 150 Please use gmake instead of traditional make for compilation on 151 non-Linux systems. 152 153Acknowledgements 154 155 Sebastien Estienne, for a lot of portability work. 156 157Download 158 159 The newest release is always available from 160 [30]http://0pointer.de/lennart/projects/libdaemon/ 161 162 Get libdaemon's development sources from the [31]GIT [32]repository 163 ([33]gitweb): 164git clone git://git.0pointer.de/libdaemon 165 166 You may find an up to date Debian package of libdaemon on the 167 [34]Debian package repository. 168 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 __________________________________________________________________ 172 173 174 Lennart Poettering <mzqnrzba (at) 0pointer (dot) de>, October 2009 175 176References 177 178 1. README#license 179 2. README#news 180 3. README#overview 181 4. README#status 182 5. README#documentation 183 6. README#requirements 184 7. README#installation 185 8. README#acks 186 9. README#download 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/ 213