1DUENDE(8)                           duende                           DUENDE(8)
2
3
4

NAME

6       duende - run a child process as a daemon
7

DESCRIPTION

9       duende makes a given child process a daemon. The standard output and
10       standard error of the child process is logged via syslog() with a
11       priority of LOG_INFO.
12

USAGE

14       duende child_process [ all subsequent arguments passed on to child ]
15

DETAILS

17       When duende is invoked, it spawns two processes. In addition to
18       spawning the daemonized child process, duende also spawns a process
19       which reads and logs the standard output of the daemonized process. The
20       parent process stays alive so as to monitor the daemonized process.
21
22       duende requires a blank directory named /etc/maradns/logger to run.
23
24       Should the parent duende process HUP signal, duende will restart the
25       child process. Should the daemonized or logging process received an
26       untrapped HUP signal or exit with an exit code of 8, duende will
27       restart the process. Should the daemonized or logging process exit for
28       any other reason, duende will send the logger process a TERM signal and
29       exit.  Should the duende parent process receive a TERM or INT signal,
30       duende sends all of its children TERM signals, then exits.
31
32       The duende process must be started as the superuser; this is because
33       Duende's intended child processes (maradns and zoneserver) need to bind
34       to privileged ports, and because duende uses a setuid() call to change
35       the user ID of the logging process to the user with ID 66.
36

LOGGING

38       duende uses the syslog() facility to log the standard output of the
39       program that it invokes. The name of the program (in other words, the
40       "ident" given to openlog()) is the full path of the first argument
41       given to duende.  All messages created by the child process are sent to
42       syslog() with a priority of LOG_INFO and a "facility" of LOG_DAEMON;
43       should duende itself encounter an error, it will send messages to
44       syslog() with a priority of LOG_ALERT.
45
46       For example, suppose one invokes duende thusly:
47
48            duende /usr/local/sbin/maradns
49
50       If invoked thusly, duende will log all messages with the "ident"
51       (program name) of "/usr/local/sbin/maradns". If this is not desired,
52       invoke duende with something like:
53
54            export PATH=$PATH:/usr/local/sbin
55            duende maradns
56
57       This will log messages with a (more sensible) "ident" of maradns.
58
59       Note: If a non-POSIX Bourne shell (such as csh, es, rc, or fish) is
60       used to invoke MaraDNS, the above syntax needs to be changed.
61
62       Also, the directory /etc/maradns/logger, while used by duende, is not
63       used to store any log messages. That is unless, for some reason, one
64       configures syslog to store messages there.
65

EXAMPLES

67       Using duende to start maradns, where the mararc file is /etc/mararc.2
68
69            duende maradns -f /etc/mararc.3
70
71       Using duende to start zoneserver, where the mararc file is
72       /etc/mararc.4
73
74            duende zoneserver -f /etc/mararc.4
75
76

BUGS

78       Duende assumes that all of its children are well-behaved, eating their
79       vegetables, going to bed when told, and terminating when receiving a
80       TERM signal.
81

SEE ALSO

83       maradns(8), syslog(3)
84
85       http://www.maradns.org
86
88       THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS OR
89       IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
90       WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
91       DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR
92       ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
93       DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
94       OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
95       HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
96       STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
97       IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
98       POSSIBILITY OF SUCH DAMAGE.
99

AUTHOR

101       Duende and this man page are written by Sam Trenholme. D Richard Felker
102       III provided some invaluable assistance with the piping code which
103       duende uses.
104
105
106
107
108January 2003                        duende                           DUENDE(8)
Impressum