DAEMON(3) Linux Programmer's Manual DAEMON(3)NAME
daemon - run in the background
SYNOPSIS
#include <unistd.h>
int daemon(int nochdir, int noclose);
DESCRIPTION
The daemon() function is for programs wishing to detach themselves from the controlling terminal and run in the background as system dae-
mons.
Unless the argument nochdir is non-zero, daemon() changes the current working directory to the root ("/").
Unless the argument noclose is non-zero, daemon() will redirect standard input, standard output and standard error to /dev/null.
RETURN VALUE
(This function forks, and if the fork() succeeds, the father does _exit(0), so that further errors are seen by the child only.) On success
zero will be returned. If an error occurs, daemon() returns -1 and sets the global variable errno to any of the errors specified for the
library functions fork(2) and setsid(2).
SEE ALSO fork(2), setsid(2)NOTES
The glibc implementation can also return -1 when /dev/null exists but is not a character device with the expected major and minor numbers.
In this case errno need not be set.
HISTORY
The daemon() function first appeared in BSD4.4.
BSD MANPAGE 1993-06-09 DAEMON(3)
Check Out this Related Man Page
DAEMON(3) Linux Programmer's Manual DAEMON(3)NAME
daemon - run in the background
SYNOPSIS
#include <unistd.h>
int daemon(int nochdir, int noclose);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
daemon(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
DESCRIPTION
The daemon() function is for programs wishing to detach themselves from the controlling terminal and run in the background as system dae-
mons.
If nochdir is zero, daemon() changes the calling process's current working directory to the root directory ("/"); otherwise, the current
working directory is left unchanged.
If noclose is zero, daemon() redirects standard input, standard output and standard error to /dev/null; otherwise, no changes are made to
these file descriptors.
RETURN VALUE
(This function forks, and if the fork(2) succeeds, the parent calls _exit(2), so that further errors are seen by the child only.) On suc-
cess daemon() returns zero. If an error occurs, daemon() returns -1 and sets errno to any of the errors specified for the fork(2) and set-
sid(2).
CONFORMING TO
Not in POSIX.1-2001. A similar function appears on the BSDs. The daemon() function first appeared in 4.4BSD.
NOTES
The glibc implementation can also return -1 when /dev/null exists but is not a character device with the expected major and minor numbers.
In this case errno need not be set.
SEE ALSO fork(2), setsid(2)COLOPHON
This page is part of release 3.53 of the Linux man-pages project. A description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
GNU 2009-12-05 DAEMON(3)
Hi,
I have to write a daemon process, which performs certain operations in the background.
Now since it performs operations in the background, it should not display anything to the standard output.
The problem is that it still displays, text on standard output.
Can anyone tell me (it is... (2 Replies)
Dear all,
suppose that I start a process (named "father"). "father" starts in turns a process called "child" with an execv call (after a fork). In this way "father" will be notified if "chlid" crashes (SIGCHILD mechanism). The problem is:
if "father" crashes, how can I do to be recreate a... (1 Reply)
Hello!
I am working on a server where I should have 4 (resident)processes, one of them being "the father" of the others, so I do 3 forks. The problem that I have is that I do an accept (for sockets) in the "father" process and I want to transmit the job to one of the processes "child" with... (3 Replies)
hai
i want to run some of my programs in background for that i require to redirect my output and errors i got those two but i am unable to give the input to that background process
so please help me if anybody know the answer for my problem (2 Replies)
hi all,
is it safe to call openlog() with the LOG_CONS flag *before* becoming a daemon? Daemonization involves fork(); setsid(); fork() sequence, and it would like to get a detailed message to the system log if the daemonization fails in one of the child processes. Most daemonization code samples... (5 Replies)
# whoami 2>/dev/null
whoami: not found
#
Why the error message not getting redirected to /dev/null ...
The shell is
# echo $SHELL
/sbin/sh
For other commands it is working
# ls aaa 2>/dev/null
#
Is there any other way to redirect the err msg from whoami Thank you for your... (7 Replies)
Hi everyone:
I'm developing a dynamic library for notifications, this library is used for a daemon that i've programmed, when something goes wrong the library should send an email to an administrator, but since sending an email is a non-vital process then it can fail (it should work as an... (4 Replies)
Hello,
I'm writting a korn script that executes a daemon in a remote server. The problem is that daemon doesn't go background until it receives an enter from the standard input, and it maintains the rsh opened until it get it. I'm looking for the best (efficient and elegant) way to do send the... (3 Replies)