]>
Commit | Line | Data |
---|---|---|
fea681da MK |
1 | .\" Copyright (c) 1993 |
2 | .\" The Regents of the University of California. All rights reserved. | |
3 | .\" | |
a9cd9cb7 | 4 | .\" %%%LICENSE_START(BSD_4_CLAUSE_UCB) |
fea681da MK |
5 | .\" Redistribution and use in source and binary forms, with or without |
6 | .\" modification, are permitted provided that the following conditions | |
7 | .\" are met: | |
8 | .\" 1. Redistributions of source code must retain the above copyright | |
9 | .\" notice, this list of conditions and the following disclaimer. | |
10 | .\" 2. Redistributions in binary form must reproduce the above copyright | |
11 | .\" notice, this list of conditions and the following disclaimer in the | |
12 | .\" documentation and/or other materials provided with the distribution. | |
13 | .\" 3. All advertising materials mentioning features or use of this software | |
14 | .\" must display the following acknowledgement: | |
15 | .\" This product includes software developed by the University of | |
16 | .\" California, Berkeley and its contributors. | |
17 | .\" 4. Neither the name of the University nor the names of its contributors | |
18 | .\" may be used to endorse or promote products derived from this software | |
19 | .\" without specific prior written permission. | |
20 | .\" | |
21 | .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND | |
22 | .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |
23 | .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |
24 | .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE | |
25 | .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | |
26 | .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | |
27 | .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | |
28 | .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | |
29 | .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | |
30 | .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | |
31 | .\" SUCH DAMAGE. | |
8c9302dc | 32 | .\" %%%LICENSE_END |
fea681da MK |
33 | .\" |
34 | .\" @(#)daemon.3 8.1 (Berkeley) 6/9/93 | |
35 | .\" Added mentioning of glibc weirdness wrt unistd.h. 5/11/98, Al Viro | |
51a492bd | 36 | .TH DAEMON 3 2009-12-05 "GNU" "Linux Programmer's Manual" |
fea681da MK |
37 | .SH NAME |
38 | daemon \- run in the background | |
39 | .SH SYNOPSIS | |
40 | .B #include <unistd.h> | |
41 | .sp | |
42 | .BI "int daemon(int " nochdir ", int " noclose ); | |
cc4615cc MK |
43 | .sp |
44 | .in -4n | |
45 | Feature Test Macro Requirements for glibc (see | |
46 | .BR feature_test_macros (7)): | |
47 | .in | |
48 | .sp | |
49 | .BR daemon (): | |
50 | _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\ <\ 500) | |
fea681da MK |
51 | .SH DESCRIPTION |
52 | The | |
53 | .BR daemon () | |
54 | function is for programs wishing to detach themselves from the | |
55 | controlling terminal and run in the background as system daemons. | |
56 | .PP | |
5a76509a | 57 | If |
fea681da | 58 | .I nochdir |
5a76509a | 59 | is zero, |
fea681da | 60 | .BR daemon () |
51a492bd | 61 | changes the calling process's current working directory |
5a76509a | 62 | to the root directory ("/"); |
51a492bd | 63 | otherwise, the current working directory is left unchanged. |
fea681da | 64 | .PP |
5a76509a | 65 | If |
fea681da | 66 | .I noclose |
5a76509a | 67 | is zero, |
fea681da | 68 | .BR daemon () |
5a76509a | 69 | redirects standard input, standard output and standard error |
c9942389 MK |
70 | to |
71 | .IR /dev/null ; | |
5a76509a | 72 | otherwise, no changes are made to these file descriptors. |
47297adb | 73 | .SH RETURN VALUE |
fea681da | 74 | (This function forks, and if the |
fb186734 | 75 | .BR fork (2) |
9fe10273 | 76 | succeeds, the parent calls |
fea681da | 77 | .\" not .IR in order not to underline _ |
d4fdff35 | 78 | .BR _exit (2), |
fea681da | 79 | so that further errors are seen by the child only.) |
7e05b05e MK |
80 | On success |
81 | .BR daemon () | |
82 | returns zero. | |
fea681da MK |
83 | If an error occurs, |
84 | .BR daemon () | |
28d03ce9 | 85 | returns \-1 and sets |
fea681da | 86 | .I errno |
db4bf819 | 87 | to any of the errors specified for the |
fea681da | 88 | .BR fork (2) |
c13182ef | 89 | and |
fea681da | 90 | .BR setsid (2). |
2b2581ee MK |
91 | .SH CONFORMING TO |
92 | Not in POSIX.1-2001. | |
93 | A similar function appears on the BSDs. | |
94 | The | |
95 | .BR daemon () | |
96 | function first appeared in 4.4BSD. | |
fea681da MK |
97 | .SH NOTES |
98 | The glibc implementation can also return \-1 when | |
99 | .I /dev/null | |
100 | exists but is not a character device with the expected | |
c13182ef MK |
101 | major and minor numbers. |
102 | In this case | |
fea681da MK |
103 | .I errno |
104 | need not be set. | |
47297adb | 105 | .SH SEE ALSO |
e37e3282 MK |
106 | .BR fork (2), |
107 | .BR setsid (2) |