procmgr_daemon()
Run a process in the background
Synopsis:
#include <sys/procmgr.h> int procmgr_daemon( int status, unsigned flags );
Arguments:
- status
- The status that you want to return to the parent process.
- flags
- The flags currently defined (in <sys/procmgr.h>) are:
- PROCMGR_DAEMON_NOCHDIR — unless this flag is set, procmgr_daemon() changes the current working directory to the root / .
- PROCMGR_DAEMON_NOCLOSE — unless this flag is set, procmgr_daemon() closes all file descriptors other than standard input, standard output and standard error.
- PROCMGR_DAEMON_NODEVNULL — unless this flag is set, procmgr_daemon() redirects standard input, standard output and standard error to /dev/null.
- PROCMGR_DAEMON_KEEPUMASK — unless this flag is set, procmgr_daemon() sets the umask to 0 (zero).
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The function procmgr_daemon() function lets programs detach themselves from the controlling terminal and run in the background as system daemons. This also puts the caller into session 1.
The argument status is returned to the parent process as if exit() were called; the returned value is normally EXIT_SUCCESS.
The data in the siginfo_t structure for the
SIGCHLD signal that the parent receives isn't
useful in this case.
Returns:
A nonnegative integer, or -1 if an error occurs.
Classification:
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |