|
Packit |
ab56a9 |
libdaemon 0.14
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Copyright 2003-2009 Lennart Poettering
|
|
Packit |
ab56a9 |
de>
|
|
Packit |
ab56a9 |
* [1]License
|
|
Packit |
ab56a9 |
* [2]News
|
|
Packit |
ab56a9 |
* [3]Overview
|
|
Packit |
ab56a9 |
* [4]Current Status
|
|
Packit |
ab56a9 |
* [5]Documentation
|
|
Packit |
ab56a9 |
* [6]Requirements
|
|
Packit |
ab56a9 |
* [7]Installation
|
|
Packit |
ab56a9 |
* [8]Acknowledgements
|
|
Packit |
ab56a9 |
* [9]Download
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
License
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
This program is free software; you can redistribute it and/or modify it
|
|
Packit |
ab56a9 |
under the terms of the GNU Lesser General Public License as published
|
|
Packit |
ab56a9 |
by the Free Software Foundation, either version 2.1 of the License, or
|
|
Packit |
ab56a9 |
(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 Lesser
|
|
Packit |
ab56a9 |
General Public License for more details.
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
News
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Sun Oct 18 2009:
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
[10]Version 0.14 released; changes include: add daemon_set_verbosity()
|
|
Packit |
ab56a9 |
call; numerous updates
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Tue Jul 29 2008:
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
[11]Version 0.13 released; changes include: add daemon_reset_sigs() and
|
|
Packit |
ab56a9 |
daemon_unblock_sigs() calls for resetting signal handlers to sensible
|
|
Packit |
ab56a9 |
states; improve error handling.
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Tue Jul 10 2007:
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
[12]Version 0.12 released; changes include: make daemon_close_all()
|
|
Packit |
ab56a9 |
actually work properly.
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Fri Jun 22 2007:
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
[13]Version 0.11 released; changes include: automatically detect
|
|
Packit |
ab56a9 |
whether lynx is installed; properly set errno on every error condition;
|
|
Packit |
ab56a9 |
add new function daemon_close_all() to close all open file descriptors
|
|
Packit |
ab56a9 |
except a given set; add daemon_logv(), which is identical to
|
|
Packit |
ab56a9 |
daemon_log(), but takes a va_list argument; add daemon_execv() in
|
|
Packit |
ab56a9 |
similar style; other fixes
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Thu Nov 24 2005:
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
[14]Version 0.10 released; changes include: make logging compatible
|
|
Packit |
ab56a9 |
with daemons running in a chroot() environment
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Fri Nov 18 2005:
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
[15]Version 0.9 released; changes include: portability (FreeBSD,
|
|
Packit |
ab56a9 |
NetBSD, OpenBSD, Darwin, Solaris, Cygwin); some minor header file
|
|
Packit |
ab56a9 |
cleanups; fix access mode of PID files; other cleanups; license change
|
|
Packit |
ab56a9 |
from GPL to LGPL
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Sat Jun 4 2005:
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
[16]Version 0.8 released; changes include: proper PID file locking
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Sat Dec 18 2004:
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
[17]Version 0.7 released; changes include: minor cleanups; C++
|
|
Packit |
ab56a9 |
compatibility; gcc 2.95 compatiblity
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Wed Apr 7 2004:
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
[18]Version 0.6 released; changes include: backgrounding fixes, minor
|
|
Packit |
ab56a9 |
other stuff
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Tue Feb 10 2004:
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
[19]Version 0.5 released; changes include: signal handling fix, forking
|
|
Packit |
ab56a9 |
fix
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Sat Jan 10 2004:
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
[20]Version 0.4 released; changes include: new module dexec.c; added
|
|
Packit |
ab56a9 |
pkg-config support.
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Mon Oct 20 2003:
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
[21]Version 0.3 released; changes include: documentation update, build
|
|
Packit |
ab56a9 |
fixes, RPM spec file added, added new function int
|
|
Packit |
ab56a9 |
daemon_pid_file_kill_wait().
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Thu July 10 2003:
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
[22]Version 0.2 released; changes include: ugly umask error fix,
|
|
Packit |
ab56a9 |
documentation update
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Mon July 7 2003:
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
[23]Version 0.1 released
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Overview
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
libdaemon is a lightweight C library that eases the writing of UNIX
|
|
Packit |
ab56a9 |
daemons. It consists of the following parts:
|
|
Packit |
ab56a9 |
* A wrapper around fork() which does the correct daemonization
|
|
Packit |
ab56a9 |
procedure of a process
|
|
Packit |
ab56a9 |
* A wrapper around syslog() for simpler and compatible log output to
|
|
Packit |
ab56a9 |
Syslog or STDERR
|
|
Packit |
ab56a9 |
* An API for writing PID files
|
|
Packit |
ab56a9 |
* An API for serializing UNIX signals into a pipe for usage with
|
|
Packit |
ab56a9 |
select() or poll()
|
|
Packit |
ab56a9 |
* An API for running subprocesses with STDOUT and STDERR redirected
|
|
Packit |
ab56a9 |
to syslog.
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
APIs like these are used in most daemon software available. It is not
|
|
Packit |
ab56a9 |
that simple to get it done right and code duplication is not a goal.
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
libdaemon is currently used by [24]ifplugd, [25]Avahi, [26]ivam2,
|
|
Packit |
ab56a9 |
[27]Nautilus-Share and [28]aeswepd.
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Current Status
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Version 0.14 is feature complete.
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Documentation
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
An extensive API reference is [29]available
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Requirements
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
libdaemon was developed and tested on Debian GNU/Linux "testing" from
|
|
Packit |
ab56a9 |
July 2003, it should work on most other Linux distributions (and some
|
|
Packit |
ab56a9 |
Unix versions) since it uses GNU Autoconf and GNU libtool for source
|
|
Packit |
ab56a9 |
code configuration and shared library management.
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
libdaemon is known to work on modern Linux systems, FreeBSD, NetBSD,
|
|
Packit |
ab56a9 |
OpenBSD, Darwin, Solaris and Windows/Cygwin.
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Installation
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
As this package is made with the GNU autotools you should run
|
|
Packit |
ab56a9 |
./configure inside the distribution directory for configuring the
|
|
Packit |
ab56a9 |
source tree. After that you should run make for compilation and make
|
|
Packit |
ab56a9 |
install (as root) for installation of libdaemon.
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Please use gmake instead of traditional make for compilation on
|
|
Packit |
ab56a9 |
non-Linux systems.
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Acknowledgements
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Sebastien Estienne, for a lot of portability work.
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Download
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
The newest release is always available from
|
|
Packit |
ab56a9 |
[30]http://0pointer.de/lennart/projects/libdaemon/
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Get libdaemon's development sources from the [31]GIT [32]repository
|
|
Packit |
ab56a9 |
([33]gitweb):
|
|
Packit |
ab56a9 |
git clone git://git.0pointer.de/libdaemon
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
You may find an up to date Debian package of libdaemon on the
|
|
Packit |
ab56a9 |
[34]Debian package repository.
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
If you want to be notified whenever I release a new version of this
|
|
Packit |
ab56a9 |
software use the subscription feature of [35]Freshmeat.
|
|
Packit |
ab56a9 |
__________________________________________________________________
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
Lennart Poettering <mzqnrzba (at) 0pointer (dot) de>, October 2009
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
References
|
|
Packit |
ab56a9 |
|
|
Packit |
ab56a9 |
1. README#license
|
|
Packit |
ab56a9 |
2. README#news
|
|
Packit |
ab56a9 |
3. README#overview
|
|
Packit |
ab56a9 |
4. README#status
|
|
Packit |
ab56a9 |
5. README#documentation
|
|
Packit |
ab56a9 |
6. README#requirements
|
|
Packit |
ab56a9 |
7. README#installation
|
|
Packit |
ab56a9 |
8. README#acks
|
|
Packit |
ab56a9 |
9. README#download
|
|
Packit |
ab56a9 |
10. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.14.tar.gz
|
|
Packit |
ab56a9 |
11. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.13.tar.gz
|
|
Packit |
ab56a9 |
12. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.12.tar.gz
|
|
Packit |
ab56a9 |
13. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.11.tar.gz
|
|
Packit |
ab56a9 |
14. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.10.tar.gz
|
|
Packit |
ab56a9 |
15. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.9.tar.gz
|
|
Packit |
ab56a9 |
16. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.8.tar.gz
|
|
Packit |
ab56a9 |
17. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.7.tar.gz
|
|
Packit |
ab56a9 |
18. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.6.tar.gz
|
|
Packit |
ab56a9 |
19. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.5.tar.gz
|
|
Packit |
ab56a9 |
20. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.4.tar.gz
|
|
Packit |
ab56a9 |
21. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.3.tar.gz
|
|
Packit |
ab56a9 |
22. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.2.tar.gz
|
|
Packit |
ab56a9 |
23. http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.1.tar.gz
|
|
Packit |
ab56a9 |
24. http://0pointer.de/lennart/projects/ifplugd/
|
|
Packit |
ab56a9 |
25. http://freedesktop.org/Software/Avahi
|
|
Packit |
ab56a9 |
26. http://0pointer.de/lennart/projects/ivam2/
|
|
Packit |
ab56a9 |
27. http://gentoo.ovibes.net/nautilus-share/mediawiki-1.4.4/index.php/Accueil
|
|
Packit |
ab56a9 |
28. http://0pointer.de/lennart/projects/aeswepd/
|
|
Packit |
ab56a9 |
29. reference/html/index.html
|
|
Packit |
ab56a9 |
30. http://0pointer.de/lennart/projects/libdaemon/
|
|
Packit |
ab56a9 |
31. http://git.or.cz/
|
|
Packit |
ab56a9 |
32. git://git.0pointer.de/libdaemon
|
|
Packit |
ab56a9 |
33. http://git.0pointer.de/?p=libdaemon.git
|
|
Packit |
ab56a9 |
34. http://packages.debian.org/libdaemon0
|
|
Packit |
ab56a9 |
35. http://freshmeat.net/projects/libdaemon/
|