DUENDE(8)

Parece que [los zapatos] sólo levantan la mirada
cuando los duendes pasan
Taken from La Calle de las Sirenas by Kabah

NAME
duende - run a child process as a daemon

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

USAGE
duende child_process [ all subsequent arguments passed on to child ]

DETAILS
When duende is invoked, it spawns two processes. In addition to spawning the daemonized child process, duende also spawns a process which reads and logs the standard input of the daemonized process. The parent process stays alive so as to monitor the daemonized process. Should the parent duende process HUP signal, duende will restart the child process. Should the daemonized or logging process received an untrapped HUP signal or exit with an exit code of 8, duende will restart the process. Should the daemonized or logging process exit for any other reason, duende will send the logger process a TERM signal and exit. Should the duende parent process receive a TERM or INT signal, duende sends all of its children TERM signals, then exits. The duende process must be started as the superuser; this is because Duende's intended child processes (maradns and zoneserver) need to bind to privleged ports, and because duende uses a setuid() call to change the user ID of the logging process to the user with ID 66.

EXAMPLES
Using duende to start maradns, where the mararc file is /etc/mararc.2
    duende maradns -f /etc/mararc.3
Using duende to start zoneserver, where the mararc file is /etc/mararc.4
    duende zoneserver -f /etc/mararc.4

BUGS
Duende assumes that all of its children are well-behaved, eating their vegtables, going to bed when told, and terminating when receiving a TERM signal.
Duende's logging process does not run in a chroot() environment, since there are issues with running syslog() in a chroot jail.

SEE ALSO
maradns(8)
http://www.maradns.org

LEGAL DISCLAIMER
THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

AUTHOR
Duende and this man page are written by Sam Trenholme. D Richard Felker III provided some invaluable assistance with the piping code which duende uses.