 b6cbf7203b
			
		
	
	
		b6cbf7203b
		
	
	
	
	
		
			
			This patch imports the unmodified current version of NetBSD libc. The NetBSD includes are in /nbsd_include, while the libc code itself is split between lib/nbsd_libc and common/lib/libc.
		
			
				
	
	
		
			115 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			115 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| .\"	$NetBSD: daemon.3,v 1.15 2003/08/07 16:42:46 agc Exp $
 | |
| .\"
 | |
| .\" Copyright (c) 1993
 | |
| .\"	The Regents of the University of California.  All rights reserved.
 | |
| .\"
 | |
| .\" Redistribution and use in source and binary forms, with or without
 | |
| .\" modification, are permitted provided that the following conditions
 | |
| .\" are met:
 | |
| .\" 1. Redistributions of source code must retain the above copyright
 | |
| .\"    notice, this list of conditions and the following disclaimer.
 | |
| .\" 2. Redistributions in binary form must reproduce the above copyright
 | |
| .\"    notice, this list of conditions and the following disclaimer in the
 | |
| .\"    documentation and/or other materials provided with the distribution.
 | |
| .\" 3. Neither the name of the University nor the names of its contributors
 | |
| .\"    may be used to endorse or promote products derived from this software
 | |
| .\"    without specific prior written permission.
 | |
| .\"
 | |
| .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS 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.
 | |
| .\"
 | |
| .\"	@(#)daemon.3	8.1 (Berkeley) 6/9/93
 | |
| .\"
 | |
| .Dd September 3, 1999
 | |
| .Dt DAEMON 3
 | |
| .Os
 | |
| .Sh NAME
 | |
| .Nm daemon
 | |
| .Nd run in the background
 | |
| .Sh LIBRARY
 | |
| .Lb libc
 | |
| .Sh SYNOPSIS
 | |
| .In stdlib.h
 | |
| .Ft int
 | |
| .Fn daemon "int nochdir" "int noclose"
 | |
| .Sh DESCRIPTION
 | |
| The
 | |
| .Fn daemon
 | |
| function is for programs wishing to detach themselves from the
 | |
| controlling terminal and run in the background as system daemons.
 | |
| .Pp
 | |
| Unless the argument
 | |
| .Fa nochdir
 | |
| is non-zero,
 | |
| .Fn daemon
 | |
| changes the current working directory to the root
 | |
| .Pq Pa / .
 | |
| .Pp
 | |
| Unless the argument
 | |
| .Fa noclose
 | |
| is non-zero,
 | |
| .Fn daemon
 | |
| will redirect standard input, standard output and standard error
 | |
| to
 | |
| .Pa /dev/null .
 | |
| .Sh RETURN VALUES
 | |
| On return 0 indicates success with \-1 indicating error.
 | |
| .Sh ERRORS
 | |
| The function
 | |
| .Fn daemon
 | |
| may fail and set
 | |
| .Va errno
 | |
| for any of the errors specified for the library functions
 | |
| .Xr fork 2
 | |
| and
 | |
| .Xr setsid 2 .
 | |
| .Sh SEE ALSO
 | |
| .Xr fork 2 ,
 | |
| .Xr setsid 2
 | |
| .Sh HISTORY
 | |
| The
 | |
| .Fn daemon
 | |
| function first appeared in
 | |
| .Bx 4.4 .
 | |
| .Sh CAVEATS
 | |
| Unless the
 | |
| .Ar noclose
 | |
| argument is non-zero,
 | |
| .Fn daemon
 | |
| will close the first three file descriptors and redirect them to
 | |
| .Pa /dev/null .
 | |
| Normally, these correspond to standard input, standard output and
 | |
| standard error.
 | |
| However, if any of those file descriptors refer to something else they
 | |
| will still be closed, resulting in incorrect behavior of the calling program.
 | |
| This can happen if any of standard input, standard output or standard error
 | |
| have been closed before the program was run.
 | |
| Programs using
 | |
| .Fn daemon
 | |
| should therefore make sure to either call
 | |
| .Fn daemon
 | |
| before opening any files or sockets or, alternately, verifying that
 | |
| any file descriptors obtained have a value greater than 2.
 | |
| .Sh BUGS
 | |
| .Fn daemon
 | |
| uses
 | |
| .Fn fork
 | |
| as part of its tty detachment mechanism.
 | |
| Consequently the process id changes when
 | |
| .Fn daemon
 | |
| is invoked.
 | |
| Processes employing
 | |
| .Fn daemon
 | |
| can not be reliably waited upon until
 | |
| .Fn daemon
 | |
| has been invoked.
 |