daemon
![]() |
![]() |
![]() |
![]() |
daemon()
Run a process in the background
Synopsis:
#include <stdlib.h>
int daemon( int nochdir,
int noclose );
Arguments:
- nochdir
- If this argument is 0, the current working directory is changed to the root directory (/).
- noclose
- If this argument is 0, standard input, standard output, and standard error are redirected to /dev/null.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The daemon() function allows programs to detach themselves from the controlling terminal and run in the background as system daemons.
This function calls fork() and setsid().
![]() |
The controlling terminal behaves as in Unix System V, Release 4. An open() on a terminal device not already associated with another session causes the device to become the controlling terminal for that process. |
Returns:
Zero for success, or -1 if an error occurs (errno is set).
Classification:
| Safety: | |
|---|---|
| Cancellation point | No |
| Interrupt handler | No |
| Signal handler | Yes |
| Thread | No |
Caveats:
Currently, daemon() is supported only in single-threaded applications. If you create a thread and then call daemon(), the function returns -1 and sets errno to ENOSYS.
See also:
fork(), procmgr_daemon(), setsid()
![]() |
![]() |
![]() |
![]() |

![[Previous]](../prev.gif)
![[Contents]](../contents.gif)
![[Index]](../keyword_index.gif)
![[Next]](../next.gif)

