daemon()

Run a process in the background

Synopsis:

#include <stdlib.h>

int daemon( int nochdir, 
            int noclose );

Since:

BlackBerry 10.0.0

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:

Legacy Unix

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.

Last modified: 2014-06-24



Got questions about leaving a comment? Get answers from our Disqus FAQ.

comments powered by Disqus