![]() |
![]() |
![]() |
![]() |
![]() |
This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs. |
Run a process in the background
#include <stdlib.h> int daemon( int nochdir, int noclose );
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
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.
The High Availability Manager can see death messages only from tasks that are running in session 1, and daemon() doesn't put the caller into that session; use procmgr_daemon() instead if you want to use your application with the HAM. |
Zero for success, or -1 if an error occurs (errno is set).
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | No |
Signal handler | Yes |
Thread | No |
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.
fork(), procmgr_daemon(), setsid()
![]() |
![]() |
![]() |
![]() |